{
  "type": "Program",
  "start": 0,
  "end": 25013,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 663,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [
    {
      "type": "ImportDeclaration",
      "start": 0,
      "end": 67,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 67
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 8,
          "end": 20,
          "loc": {
            "start": {
              "line": 1,
              "column": 8
            },
            "end": {
              "line": 1,
              "column": 20
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 8,
            "end": 20,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 20
              }
            },
            "name": "trackPromise"
          },
          "local": {
            "type": "Identifier",
            "start": 8,
            "end": 20,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 20
              }
            },
            "name": "trackPromise"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 22,
          "end": 29,
          "loc": {
            "start": {
              "line": 1,
              "column": 22
            },
            "end": {
              "line": 1,
              "column": 29
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 22,
            "end": 29,
            "loc": {
              "start": {
                "line": 1,
                "column": 22
              },
              "end": {
                "line": 1,
                "column": 29
              }
            },
            "name": "Interop"
          },
          "local": {
            "type": "Identifier",
            "start": 22,
            "end": 29,
            "loc": {
              "start": {
                "line": 1,
                "column": 22
              },
              "end": {
                "line": 1,
                "column": 29
              }
            },
            "name": "Interop"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 31,
          "end": 39,
          "loc": {
            "start": {
              "line": 1,
              "column": 31
            },
            "end": {
              "line": 1,
              "column": 39
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 31,
            "end": 39,
            "loc": {
              "start": {
                "line": 1,
                "column": 31
              },
              "end": {
                "line": 1,
                "column": 39
              }
            },
            "name": "logLevel"
          },
          "local": {
            "type": "Identifier",
            "start": 31,
            "end": 39,
            "loc": {
              "start": {
                "line": 1,
                "column": 31
              },
              "end": {
                "line": 1,
                "column": 39
              }
            },
            "name": "logLevel"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 46,
        "end": 66,
        "loc": {
          "start": {
            "line": 1,
            "column": 46
          },
          "end": {
            "line": 1,
            "column": 66
          }
        },
        "value": "sketcher/cchelpers",
        "rawValue": "sketcher/cchelpers",
        "raw": "'sketcher/cchelpers'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 68,
      "end": 127,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 59
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 76,
          "end": 95,
          "loc": {
            "start": {
              "line": 2,
              "column": 8
            },
            "end": {
              "line": 2,
              "column": 27
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 76,
            "end": 95,
            "loc": {
              "start": {
                "line": 2,
                "column": 8
              },
              "end": {
                "line": 2,
                "column": 27
              }
            },
            "name": "ConstraintGenerator"
          },
          "local": {
            "type": "Identifier",
            "start": 76,
            "end": 95,
            "loc": {
              "start": {
                "line": 2,
                "column": 8
              },
              "end": {
                "line": 2,
                "column": 27
              }
            },
            "name": "ConstraintGenerator"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 102,
        "end": 126,
        "loc": {
          "start": {
            "line": 2,
            "column": 34
          },
          "end": {
            "line": 2,
            "column": 58
          }
        },
        "value": "sketcher/constraintgen",
        "rawValue": "sketcher/constraintgen",
        "raw": "'sketcher/constraintgen'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 128,
      "end": 165,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 37
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 135,
          "end": 141,
          "loc": {
            "start": {
              "line": 3,
              "column": 7
            },
            "end": {
              "line": 3,
              "column": 13
            }
          },
          "local": {
            "type": "Identifier",
            "start": 135,
            "end": 141,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 13
              }
            },
            "name": "Sketch"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 147,
        "end": 164,
        "loc": {
          "start": {
            "line": 3,
            "column": 19
          },
          "end": {
            "line": 3,
            "column": 36
          }
        },
        "value": "sketcher/sketch",
        "rawValue": "sketcher/sketch",
        "raw": "'sketcher/sketch'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 166,
      "end": 211,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 45
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 173,
          "end": 183,
          "loc": {
            "start": {
              "line": 4,
              "column": 7
            },
            "end": {
              "line": 4,
              "column": 17
            }
          },
          "local": {
            "type": "Identifier",
            "start": 173,
            "end": 183,
            "loc": {
              "start": {
                "line": 4,
                "column": 7
              },
              "end": {
                "line": 4,
                "column": 17
              }
            },
            "name": "Constraint"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 189,
        "end": 210,
        "loc": {
          "start": {
            "line": 4,
            "column": 23
          },
          "end": {
            "line": 4,
            "column": 44
          }
        },
        "value": "sketcher/constraint",
        "rawValue": "sketcher/constraint",
        "raw": "'sketcher/constraint'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 212,
      "end": 258,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 46
        }
      },
      "specifiers": [
        {
          "type": "ImportNamespaceSpecifier",
          "start": 219,
          "end": 232,
          "loc": {
            "start": {
              "line": 5,
              "column": 7
            },
            "end": {
              "line": 5,
              "column": 20
            }
          },
          "local": {
            "type": "Identifier",
            "start": 224,
            "end": 232,
            "loc": {
              "start": {
                "line": 5,
                "column": 12
              },
              "end": {
                "line": 5,
                "column": 20
              }
            },
            "name": "Controls"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 238,
        "end": 257,
        "loc": {
          "start": {
            "line": 5,
            "column": 26
          },
          "end": {
            "line": 5,
            "column": 45
          }
        },
        "value": "sketcher/controls",
        "rawValue": "sketcher/controls",
        "raw": "'sketcher/controls'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 259,
      "end": 313,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 54
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 267,
          "end": 272,
          "loc": {
            "start": {
              "line": 6,
              "column": 8
            },
            "end": {
              "line": 6,
              "column": 13
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 267,
            "end": 272,
            "loc": {
              "start": {
                "line": 6,
                "column": 8
              },
              "end": {
                "line": 6,
                "column": 13
              }
            },
            "name": "Point"
          },
          "local": {
            "type": "Identifier",
            "start": 267,
            "end": 272,
            "loc": {
              "start": {
                "line": 6,
                "column": 8
              },
              "end": {
                "line": 6,
                "column": 13
              }
            },
            "name": "Point"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 274,
          "end": 278,
          "loc": {
            "start": {
              "line": 6,
              "column": 15
            },
            "end": {
              "line": 6,
              "column": 19
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 274,
            "end": 278,
            "loc": {
              "start": {
                "line": 6,
                "column": 15
              },
              "end": {
                "line": 6,
                "column": 19
              }
            },
            "name": "Line"
          },
          "local": {
            "type": "Identifier",
            "start": 274,
            "end": 278,
            "loc": {
              "start": {
                "line": 6,
                "column": 15
              },
              "end": {
                "line": 6,
                "column": 19
              }
            },
            "name": "Line"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 280,
          "end": 283,
          "loc": {
            "start": {
              "line": 6,
              "column": 21
            },
            "end": {
              "line": 6,
              "column": 24
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 280,
            "end": 283,
            "loc": {
              "start": {
                "line": 6,
                "column": 21
              },
              "end": {
                "line": 6,
                "column": 24
              }
            },
            "name": "Arc"
          },
          "local": {
            "type": "Identifier",
            "start": 280,
            "end": 283,
            "loc": {
              "start": {
                "line": 6,
                "column": 21
              },
              "end": {
                "line": 6,
                "column": 24
              }
            },
            "name": "Arc"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 290,
        "end": 312,
        "loc": {
          "start": {
            "line": 6,
            "column": 31
          },
          "end": {
            "line": 6,
            "column": 53
          }
        },
        "value": "sketcher/geomobjects",
        "rawValue": "sketcher/geomobjects",
        "raw": "'sketcher/geomobjects'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 314,
      "end": 349,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 35
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 321,
          "end": 326,
          "loc": {
            "start": {
              "line": 7,
              "column": 7
            },
            "end": {
              "line": 7,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 321,
            "end": 326,
            "loc": {
              "start": {
                "line": 7,
                "column": 7
              },
              "end": {
                "line": 7,
                "column": 12
              }
            },
            "name": "Orbit"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 332,
        "end": 348,
        "loc": {
          "start": {
            "line": 7,
            "column": 18
          },
          "end": {
            "line": 7,
            "column": 34
          }
        },
        "value": "controls/orbit",
        "rawValue": "controls/orbit",
        "raw": "'controls/orbit'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 350,
      "end": 383,
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 33
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 357,
          "end": 363,
          "loc": {
            "start": {
              "line": 8,
              "column": 7
            },
            "end": {
              "line": 8,
              "column": 13
            }
          },
          "local": {
            "type": "Identifier",
            "start": 357,
            "end": 363,
            "loc": {
              "start": {
                "line": 8,
                "column": 7
              },
              "end": {
                "line": 8,
                "column": 13
              }
            },
            "name": "Plugin"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 369,
        "end": 382,
        "loc": {
          "start": {
            "line": 8,
            "column": 19
          },
          "end": {
            "line": 8,
            "column": 32
          }
        },
        "value": "core/plugin",
        "rawValue": "core/plugin",
        "raw": "'core/plugin'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 384,
      "end": 420,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 36
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 391,
          "end": 398,
          "loc": {
            "start": {
              "line": 9,
              "column": 7
            },
            "end": {
              "line": 9,
              "column": 14
            }
          },
          "local": {
            "type": "Identifier",
            "start": 391,
            "end": 398,
            "loc": {
              "start": {
                "line": 9,
                "column": 7
              },
              "end": {
                "line": 9,
                "column": 14
              }
            },
            "name": "Object3"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 404,
        "end": 419,
        "loc": {
          "start": {
            "line": 9,
            "column": 20
          },
          "end": {
            "line": 9,
            "column": 35
          }
        },
        "value": "three/object3",
        "rawValue": "three/object3",
        "raw": "'three/object3'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 421,
      "end": 447,
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 10,
          "column": 26
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 428,
          "end": 433,
          "loc": {
            "start": {
              "line": 10,
              "column": 7
            },
            "end": {
              "line": 10,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 428,
            "end": 433,
            "loc": {
              "start": {
                "line": 10,
                "column": 7
              },
              "end": {
                "line": 10,
                "column": 12
              }
            },
            "name": "THREE"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 439,
        "end": 446,
        "loc": {
          "start": {
            "line": 10,
            "column": 18
          },
          "end": {
            "line": 10,
            "column": 25
          }
        },
        "value": "three",
        "rawValue": "three",
        "raw": "'three'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 448,
      "end": 559,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 11,
          "column": 111
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 455,
          "end": 467,
          "loc": {
            "start": {
              "line": 11,
              "column": 7
            },
            "end": {
              "line": 11,
              "column": 19
            }
          },
          "local": {
            "type": "Identifier",
            "start": 455,
            "end": 467,
            "loc": {
              "start": {
                "line": 11,
                "column": 7
              },
              "end": {
                "line": 11,
                "column": 19
              }
            },
            "name": "SketcherFont"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 473,
        "end": 558,
        "loc": {
          "start": {
            "line": 11,
            "column": 25
          },
          "end": {
            "line": 11,
            "column": 110
          }
        },
        "value": "json!../../node_modules/three/examples/fonts/droid/droid_sans_regular.typeface.json",
        "rawValue": "json!../../node_modules/three/examples/fonts/droid/droid_sans_regular.typeface.json",
        "raw": "'json!../../node_modules/three/examples/fonts/droid/droid_sans_regular.typeface.json'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 560,
      "end": 599,
      "loc": {
        "start": {
          "line": 12,
          "column": 0
        },
        "end": {
          "line": 12,
          "column": 39
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 568,
          "end": 577,
          "loc": {
            "start": {
              "line": 12,
              "column": 8
            },
            "end": {
              "line": 12,
              "column": 17
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 568,
            "end": 577,
            "loc": {
              "start": {
                "line": 12,
                "column": 8
              },
              "end": {
                "line": 12,
                "column": 17
              }
            },
            "name": "Timestamp"
          },
          "local": {
            "type": "Identifier",
            "start": 568,
            "end": 577,
            "loc": {
              "start": {
                "line": 12,
                "column": 8
              },
              "end": {
                "line": 12,
                "column": 17
              }
            },
            "name": "Timestamp"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 584,
        "end": 598,
        "loc": {
          "start": {
            "line": 12,
            "column": 24
          },
          "end": {
            "line": 12,
            "column": 38
          }
        },
        "value": "core/helpers",
        "rawValue": "core/helpers",
        "raw": "'core/helpers'"
      }
    },
    {
      "type": "ClassDeclaration",
      "start": 601,
      "end": 1074,
      "loc": {
        "start": {
          "line": 14,
          "column": 0
        },
        "end": {
          "line": 34,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 607,
        "end": 621,
        "loc": {
          "start": {
            "line": 14,
            "column": 6
          },
          "end": {
            "line": 14,
            "column": 20
          }
        },
        "name": "CursorPosition"
      },
      "superClass": {
        "type": "MemberExpression",
        "start": 630,
        "end": 643,
        "loc": {
          "start": {
            "line": 14,
            "column": 29
          },
          "end": {
            "line": 14,
            "column": 42
          }
        },
        "object": {
          "type": "Identifier",
          "start": 630,
          "end": 635,
          "loc": {
            "start": {
              "line": 14,
              "column": 29
            },
            "end": {
              "line": 14,
              "column": 34
            }
          },
          "name": "THREE"
        },
        "property": {
          "type": "Identifier",
          "start": 636,
          "end": 643,
          "loc": {
            "start": {
              "line": 14,
              "column": 35
            },
            "end": {
              "line": 14,
              "column": 42
            }
          },
          "name": "Vector3"
        },
        "computed": false
      },
      "body": {
        "type": "ClassBody",
        "start": 644,
        "end": 1074,
        "loc": {
          "start": {
            "line": 14,
            "column": 43
          },
          "end": {
            "line": 34,
            "column": 1
          }
        },
        "body": [
          {
            "type": "MethodDefinition",
            "start": 650,
            "end": 761,
            "loc": {
              "start": {
                "line": 15,
                "column": 4
              },
              "end": {
                "line": 19,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 650,
              "end": 661,
              "loc": {
                "start": {
                  "line": 15,
                  "column": 4
                },
                "end": {
                  "line": 15,
                  "column": 15
                }
              },
              "name": "constructor"
            },
            "static": false,
            "kind": "constructor",
            "value": {
              "type": "FunctionExpression",
              "start": 661,
              "end": 761,
              "loc": {
                "start": {
                  "line": 15,
                  "column": 15
                },
                "end": {
                  "line": 19,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 662,
                  "end": 670,
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 16
                    },
                    "end": {
                      "line": 15,
                      "column": 24
                    }
                  },
                  "name": "notifier"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 672,
                "end": 761,
                "loc": {
                  "start": {
                    "line": 15,
                    "column": 26
                  },
                  "end": {
                    "line": 19,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 682,
                    "end": 690,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 8
                      },
                      "end": {
                        "line": 16,
                        "column": 16
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 682,
                      "end": 689,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 8
                        },
                        "end": {
                          "line": 16,
                          "column": 15
                        }
                      },
                      "callee": {
                        "type": "Super",
                        "start": 682,
                        "end": 687,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 8
                          },
                          "end": {
                            "line": 16,
                            "column": 13
                          }
                        }
                      },
                      "arguments": []
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 699,
                    "end": 721,
                    "loc": {
                      "start": {
                        "line": 17,
                        "column": 8
                      },
                      "end": {
                        "line": 17,
                        "column": 30
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 699,
                      "end": 720,
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 8
                        },
                        "end": {
                          "line": 17,
                          "column": 29
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 699,
                        "end": 706,
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 8
                          },
                          "end": {
                            "line": 17,
                            "column": 15
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 699,
                          "end": 703,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 8
                            },
                            "end": {
                              "line": 17,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 704,
                          "end": 706,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 13
                            },
                            "end": {
                              "line": 17,
                              "column": 15
                            }
                          },
                          "name": "_x"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "AssignmentExpression",
                        "start": 709,
                        "end": 720,
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 18
                          },
                          "end": {
                            "line": 17,
                            "column": 29
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 709,
                          "end": 716,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 18
                            },
                            "end": {
                              "line": 17,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 709,
                            "end": 713,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 18
                              },
                              "end": {
                                "line": 17,
                                "column": 22
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 714,
                            "end": 716,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 23
                              },
                              "end": {
                                "line": 17,
                                "column": 25
                              }
                            },
                            "name": "_y"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 719,
                          "end": 720,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 28
                            },
                            "end": {
                              "line": 17,
                              "column": 29
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        }
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 730,
                    "end": 755,
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 8
                      },
                      "end": {
                        "line": 18,
                        "column": 33
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 730,
                      "end": 754,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 8
                        },
                        "end": {
                          "line": 18,
                          "column": 32
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 730,
                        "end": 743,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 8
                          },
                          "end": {
                            "line": 18,
                            "column": 21
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 730,
                          "end": 734,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 8
                            },
                            "end": {
                              "line": 18,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 735,
                          "end": 743,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 13
                            },
                            "end": {
                              "line": 18,
                              "column": 21
                            }
                          },
                          "name": "notifier"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 746,
                        "end": 754,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 24
                          },
                          "end": {
                            "line": 18,
                            "column": 32
                          }
                        },
                        "name": "notifier"
                      }
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 766,
            "end": 793,
            "loc": {
              "start": {
                "line": 20,
                "column": 4
              },
              "end": {
                "line": 20,
                "column": 31
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 770,
              "end": 771,
              "loc": {
                "start": {
                  "line": 20,
                  "column": 8
                },
                "end": {
                  "line": 20,
                  "column": 9
                }
              },
              "name": "x"
            },
            "static": false,
            "kind": "get",
            "value": {
              "type": "FunctionExpression",
              "start": 771,
              "end": 793,
              "loc": {
                "start": {
                  "line": 20,
                  "column": 9
                },
                "end": {
                  "line": 20,
                  "column": 31
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 774,
                "end": 793,
                "loc": {
                  "start": {
                    "line": 20,
                    "column": 12
                  },
                  "end": {
                    "line": 20,
                    "column": 31
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 776,
                    "end": 791,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 14
                      },
                      "end": {
                        "line": 20,
                        "column": 29
                      }
                    },
                    "argument": {
                      "type": "MemberExpression",
                      "start": 783,
                      "end": 790,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 21
                        },
                        "end": {
                          "line": 20,
                          "column": 28
                        }
                      },
                      "object": {
                        "type": "ThisExpression",
                        "start": 783,
                        "end": 787,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 21
                          },
                          "end": {
                            "line": 20,
                            "column": 25
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 788,
                        "end": 790,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 26
                          },
                          "end": {
                            "line": 20,
                            "column": 28
                          }
                        },
                        "name": "_x"
                      },
                      "computed": false
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 798,
            "end": 825,
            "loc": {
              "start": {
                "line": 21,
                "column": 4
              },
              "end": {
                "line": 21,
                "column": 31
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 802,
              "end": 803,
              "loc": {
                "start": {
                  "line": 21,
                  "column": 8
                },
                "end": {
                  "line": 21,
                  "column": 9
                }
              },
              "name": "y"
            },
            "static": false,
            "kind": "get",
            "value": {
              "type": "FunctionExpression",
              "start": 803,
              "end": 825,
              "loc": {
                "start": {
                  "line": 21,
                  "column": 9
                },
                "end": {
                  "line": 21,
                  "column": 31
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 806,
                "end": 825,
                "loc": {
                  "start": {
                    "line": 21,
                    "column": 12
                  },
                  "end": {
                    "line": 21,
                    "column": 31
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 808,
                    "end": 823,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 14
                      },
                      "end": {
                        "line": 21,
                        "column": 29
                      }
                    },
                    "argument": {
                      "type": "MemberExpression",
                      "start": 815,
                      "end": 822,
                      "loc": {
                        "start": {
                          "line": 21,
                          "column": 21
                        },
                        "end": {
                          "line": 21,
                          "column": 28
                        }
                      },
                      "object": {
                        "type": "ThisExpression",
                        "start": 815,
                        "end": 819,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 21
                          },
                          "end": {
                            "line": 21,
                            "column": 25
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 820,
                        "end": 822,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 26
                          },
                          "end": {
                            "line": 21,
                            "column": 28
                          }
                        },
                        "name": "_y"
                      },
                      "computed": false
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 830,
            "end": 851,
            "loc": {
              "start": {
                "line": 22,
                "column": 4
              },
              "end": {
                "line": 22,
                "column": 25
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 834,
              "end": 835,
              "loc": {
                "start": {
                  "line": 22,
                  "column": 8
                },
                "end": {
                  "line": 22,
                  "column": 9
                }
              },
              "name": "z"
            },
            "static": false,
            "kind": "get",
            "value": {
              "type": "FunctionExpression",
              "start": 835,
              "end": 851,
              "loc": {
                "start": {
                  "line": 22,
                  "column": 9
                },
                "end": {
                  "line": 22,
                  "column": 25
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 838,
                "end": 851,
                "loc": {
                  "start": {
                    "line": 22,
                    "column": 12
                  },
                  "end": {
                    "line": 22,
                    "column": 25
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 840,
                    "end": 849,
                    "loc": {
                      "start": {
                        "line": 22,
                        "column": 14
                      },
                      "end": {
                        "line": 22,
                        "column": 23
                      }
                    },
                    "argument": {
                      "type": "Literal",
                      "start": 847,
                      "end": 848,
                      "loc": {
                        "start": {
                          "line": 22,
                          "column": 21
                        },
                        "end": {
                          "line": 22,
                          "column": 22
                        }
                      },
                      "value": 0,
                      "rawValue": 0,
                      "raw": "0"
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 856,
            "end": 940,
            "loc": {
              "start": {
                "line": 23,
                "column": 4
              },
              "end": {
                "line": 27,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 856,
              "end": 859,
              "loc": {
                "start": {
                  "line": 23,
                  "column": 4
                },
                "end": {
                  "line": 23,
                  "column": 7
                }
              },
              "name": "set"
            },
            "static": false,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 859,
              "end": 940,
              "loc": {
                "start": {
                  "line": 23,
                  "column": 7
                },
                "end": {
                  "line": 27,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 860,
                  "end": 861,
                  "loc": {
                    "start": {
                      "line": 23,
                      "column": 8
                    },
                    "end": {
                      "line": 23,
                      "column": 9
                    }
                  },
                  "name": "x"
                },
                {
                  "type": "Identifier",
                  "start": 863,
                  "end": 864,
                  "loc": {
                    "start": {
                      "line": 23,
                      "column": 11
                    },
                    "end": {
                      "line": 23,
                      "column": 12
                    }
                  },
                  "name": "y"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 866,
                "end": 940,
                "loc": {
                  "start": {
                    "line": 23,
                    "column": 14
                  },
                  "end": {
                    "line": 27,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 876,
                    "end": 888,
                    "loc": {
                      "start": {
                        "line": 24,
                        "column": 8
                      },
                      "end": {
                        "line": 24,
                        "column": 20
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 876,
                      "end": 887,
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 8
                        },
                        "end": {
                          "line": 24,
                          "column": 19
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 876,
                        "end": 883,
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 8
                          },
                          "end": {
                            "line": 24,
                            "column": 15
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 876,
                          "end": 880,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 8
                            },
                            "end": {
                              "line": 24,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 881,
                          "end": 883,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 13
                            },
                            "end": {
                              "line": 24,
                              "column": 15
                            }
                          },
                          "name": "_x"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 886,
                        "end": 887,
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 18
                          },
                          "end": {
                            "line": 24,
                            "column": 19
                          }
                        },
                        "name": "x"
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 897,
                    "end": 909,
                    "loc": {
                      "start": {
                        "line": 25,
                        "column": 8
                      },
                      "end": {
                        "line": 25,
                        "column": 20
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 897,
                      "end": 908,
                      "loc": {
                        "start": {
                          "line": 25,
                          "column": 8
                        },
                        "end": {
                          "line": 25,
                          "column": 19
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 897,
                        "end": 904,
                        "loc": {
                          "start": {
                            "line": 25,
                            "column": 8
                          },
                          "end": {
                            "line": 25,
                            "column": 15
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 897,
                          "end": 901,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 8
                            },
                            "end": {
                              "line": 25,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 902,
                          "end": 904,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 13
                            },
                            "end": {
                              "line": 25,
                              "column": 15
                            }
                          },
                          "name": "_y"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 907,
                        "end": 908,
                        "loc": {
                          "start": {
                            "line": 25,
                            "column": 18
                          },
                          "end": {
                            "line": 25,
                            "column": 19
                          }
                        },
                        "name": "y"
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 918,
                    "end": 934,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 8
                      },
                      "end": {
                        "line": 26,
                        "column": 24
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 918,
                      "end": 933,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 8
                        },
                        "end": {
                          "line": 26,
                          "column": 23
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 918,
                        "end": 931,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 8
                          },
                          "end": {
                            "line": 26,
                            "column": 21
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 918,
                          "end": 922,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 8
                            },
                            "end": {
                              "line": 26,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 923,
                          "end": 931,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 13
                            },
                            "end": {
                              "line": 26,
                              "column": 21
                            }
                          },
                          "name": "notifier"
                        },
                        "computed": false
                      },
                      "arguments": []
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 945,
            "end": 994,
            "loc": {
              "start": {
                "line": 28,
                "column": 4
              },
              "end": {
                "line": 30,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 945,
              "end": 949,
              "loc": {
                "start": {
                  "line": 28,
                  "column": 4
                },
                "end": {
                  "line": 28,
                  "column": 8
                }
              },
              "name": "copy"
            },
            "static": false,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 949,
              "end": 994,
              "loc": {
                "start": {
                  "line": 28,
                  "column": 8
                },
                "end": {
                  "line": 30,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 950,
                  "end": 953,
                  "loc": {
                    "start": {
                      "line": 28,
                      "column": 9
                    },
                    "end": {
                      "line": 28,
                      "column": 12
                    }
                  },
                  "name": "pos"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 955,
                "end": 994,
                "loc": {
                  "start": {
                    "line": 28,
                    "column": 14
                  },
                  "end": {
                    "line": 30,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 965,
                    "end": 988,
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 8
                      },
                      "end": {
                        "line": 29,
                        "column": 31
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 965,
                      "end": 987,
                      "loc": {
                        "start": {
                          "line": 29,
                          "column": 8
                        },
                        "end": {
                          "line": 29,
                          "column": 30
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 965,
                        "end": 973,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 8
                          },
                          "end": {
                            "line": 29,
                            "column": 16
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 965,
                          "end": 969,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 8
                            },
                            "end": {
                              "line": 29,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 970,
                          "end": 973,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 13
                            },
                            "end": {
                              "line": 29,
                              "column": 16
                            }
                          },
                          "name": "set"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "start": 974,
                          "end": 979,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 17
                            },
                            "end": {
                              "line": 29,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 974,
                            "end": 977,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 17
                              },
                              "end": {
                                "line": 29,
                                "column": 20
                              }
                            },
                            "name": "pos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 978,
                            "end": 979,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 21
                              },
                              "end": {
                                "line": 29,
                                "column": 22
                              }
                            },
                            "name": "x"
                          },
                          "computed": false
                        },
                        {
                          "type": "MemberExpression",
                          "start": 981,
                          "end": 986,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 24
                            },
                            "end": {
                              "line": 29,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 981,
                            "end": 984,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 24
                              },
                              "end": {
                                "line": 29,
                                "column": 27
                              }
                            },
                            "name": "pos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 985,
                            "end": 986,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 28
                              },
                              "end": {
                                "line": 29,
                                "column": 29
                              }
                            },
                            "name": "y"
                          },
                          "computed": false
                        }
                      ]
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 999,
            "end": 1072,
            "loc": {
              "start": {
                "line": 31,
                "column": 4
              },
              "end": {
                "line": 33,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 999,
              "end": 1004,
              "loc": {
                "start": {
                  "line": 31,
                  "column": 4
                },
                "end": {
                  "line": 31,
                  "column": 9
                }
              },
              "name": "clone"
            },
            "static": false,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 1004,
              "end": 1072,
              "loc": {
                "start": {
                  "line": 31,
                  "column": 9
                },
                "end": {
                  "line": 33,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 1007,
                "end": 1072,
                "loc": {
                  "start": {
                    "line": 31,
                    "column": 12
                  },
                  "end": {
                    "line": 33,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 1017,
                    "end": 1066,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 8
                      },
                      "end": {
                        "line": 32,
                        "column": 57
                      }
                    },
                    "argument": {
                      "type": "NewExpression",
                      "start": 1024,
                      "end": 1065,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 15
                        },
                        "end": {
                          "line": 32,
                          "column": 56
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1028,
                        "end": 1041,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 19
                          },
                          "end": {
                            "line": 32,
                            "column": 32
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1028,
                          "end": 1033,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 19
                            },
                            "end": {
                              "line": 32,
                              "column": 24
                            }
                          },
                          "name": "THREE"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1034,
                          "end": 1041,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 25
                            },
                            "end": {
                              "line": 32,
                              "column": 32
                            }
                          },
                          "name": "Vector3"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "start": 1042,
                          "end": 1048,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 33
                            },
                            "end": {
                              "line": 32,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1042,
                            "end": 1046,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 33
                              },
                              "end": {
                                "line": 32,
                                "column": 37
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1047,
                            "end": 1048,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 38
                              },
                              "end": {
                                "line": 32,
                                "column": 39
                              }
                            },
                            "name": "x"
                          },
                          "computed": false
                        },
                        {
                          "type": "MemberExpression",
                          "start": 1050,
                          "end": 1056,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 41
                            },
                            "end": {
                              "line": 32,
                              "column": 47
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1050,
                            "end": 1054,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 41
                              },
                              "end": {
                                "line": 32,
                                "column": 45
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1055,
                            "end": 1056,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 46
                              },
                              "end": {
                                "line": 32,
                                "column": 47
                              }
                            },
                            "name": "y"
                          },
                          "computed": false
                        },
                        {
                          "type": "MemberExpression",
                          "start": 1058,
                          "end": 1064,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 49
                            },
                            "end": {
                              "line": 32,
                              "column": 55
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1058,
                            "end": 1062,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 49
                              },
                              "end": {
                                "line": 32,
                                "column": 53
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1063,
                            "end": 1064,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 54
                              },
                              "end": {
                                "line": 32,
                                "column": 55
                              }
                            },
                            "name": "z"
                          },
                          "computed": false
                        }
                      ]
                    }
                  }
                ]
              }
            }
          }
        ]
      }
    },
    {
      "type": "ExportDefaultDeclaration",
      "start": 1076,
      "end": 20242,
      "loc": {
        "start": {
          "line": 36,
          "column": 0
        },
        "end": {
          "line": 558,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 1091,
        "end": 20242,
        "loc": {
          "start": {
            "line": 36,
            "column": 15
          },
          "end": {
            "line": 558,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 1097,
          "end": 1105,
          "loc": {
            "start": {
              "line": 36,
              "column": 21
            },
            "end": {
              "line": 36,
              "column": 29
            }
          },
          "name": "Sketcher"
        },
        "superClass": {
          "type": "Identifier",
          "start": 1114,
          "end": 1120,
          "loc": {
            "start": {
              "line": 36,
              "column": 38
            },
            "end": {
              "line": 36,
              "column": 44
            }
          },
          "name": "Plugin"
        },
        "body": {
          "type": "ClassBody",
          "start": 1121,
          "end": 20242,
          "loc": {
            "start": {
              "line": 36,
              "column": 45
            },
            "end": {
              "line": 558,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 1177,
              "end": 4894,
              "loc": {
                "start": {
                  "line": 38,
                  "column": 4
                },
                "end": {
                  "line": 121,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1177,
                "end": 1188,
                "loc": {
                  "start": {
                    "line": 38,
                    "column": 4
                  },
                  "end": {
                    "line": 38,
                    "column": 15
                  }
                },
                "name": "constructor",
                "leadingComments": null
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 1188,
                "end": 4894,
                "loc": {
                  "start": {
                    "line": 38,
                    "column": 15
                  },
                  "end": {
                    "line": 121,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1189,
                    "end": 1196,
                    "loc": {
                      "start": {
                        "line": 38,
                        "column": 16
                      },
                      "end": {
                        "line": 38,
                        "column": 23
                      }
                    },
                    "name": "options"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1198,
                  "end": 4894,
                  "loc": {
                    "start": {
                      "line": 38,
                      "column": 25
                    },
                    "end": {
                      "line": 121,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1208,
                      "end": 1223,
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 8
                        },
                        "end": {
                          "line": 39,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1208,
                        "end": 1222,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 8
                          },
                          "end": {
                            "line": 39,
                            "column": 22
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 1208,
                          "end": 1213,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 8
                            },
                            "end": {
                              "line": 39,
                              "column": 13
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1214,
                            "end": 1221,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 14
                              },
                              "end": {
                                "line": 39,
                                "column": 21
                              }
                            },
                            "name": "options"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1232,
                      "end": 1258,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 8
                        },
                        "end": {
                          "line": 40,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1232,
                        "end": 1257,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 8
                          },
                          "end": {
                            "line": 40,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1232,
                          "end": 1250,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 8
                            },
                            "end": {
                              "line": 40,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1232,
                            "end": 1236,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 8
                              },
                              "end": {
                                "line": 40,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1237,
                            "end": 1250,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 13
                              },
                              "end": {
                                "line": 40,
                                "column": 26
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 1253,
                          "end": 1257,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 29
                            },
                            "end": {
                              "line": 40,
                              "column": 33
                            }
                          },
                          "value": null,
                          "rawValue": null,
                          "raw": "null"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1268,
                      "end": 1302,
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 8
                        },
                        "end": {
                          "line": 42,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1268,
                        "end": 1301,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 8
                          },
                          "end": {
                            "line": 42,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1268,
                          "end": 1295,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 8
                            },
                            "end": {
                              "line": 42,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1268,
                            "end": 1291,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 8
                              },
                              "end": {
                                "line": 42,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1268,
                              "end": 1285,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 8
                                },
                                "end": {
                                  "line": 42,
                                  "column": 25
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1268,
                                "end": 1280,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 20
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1268,
                                  "end": 1272,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1273,
                                  "end": 1280,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 20
                                    }
                                  },
                                  "name": "options"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1281,
                                "end": 1285,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 25
                                  }
                                },
                                "name": "view"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1286,
                              "end": 1291,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 26
                                },
                                "end": {
                                  "line": 42,
                                  "column": 31
                                }
                              },
                              "name": "scene"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1292,
                            "end": 1295,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 32
                              },
                              "end": {
                                "line": 42,
                                "column": 35
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 1296,
                            "end": 1300,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 36
                              },
                              "end": {
                                "line": 42,
                                "column": 40
                              }
                            }
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "reqiured to handle interaction events",
                          "start": 1303,
                          "end": 1342,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 43
                            },
                            "end": {
                              "line": 42,
                              "column": 82
                            }
                          },
                          "range": [
                            1303,
                            1342
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1352,
                      "end": 1390,
                      "loc": {
                        "start": {
                          "line": 44,
                          "column": 8
                        },
                        "end": {
                          "line": 44,
                          "column": 46
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1352,
                        "end": 1389,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 8
                          },
                          "end": {
                            "line": 44,
                            "column": 45
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1352,
                          "end": 1369,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 8
                            },
                            "end": {
                              "line": 44,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1352,
                            "end": 1356,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 8
                              },
                              "end": {
                                "line": 44,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1357,
                            "end": 1369,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 13
                              },
                              "end": {
                                "line": 44,
                                "column": 25
                              }
                            },
                            "name": "__parentView"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1372,
                          "end": 1389,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 28
                            },
                            "end": {
                              "line": 44,
                              "column": 45
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1372,
                            "end": 1384,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 28
                              },
                              "end": {
                                "line": 44,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1372,
                              "end": 1376,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 28
                                },
                                "end": {
                                  "line": 44,
                                  "column": 32
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1377,
                              "end": 1384,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 33
                                },
                                "end": {
                                  "line": 44,
                                  "column": 40
                                }
                              },
                              "name": "options"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1385,
                            "end": 1389,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 41
                              },
                              "end": {
                                "line": 44,
                                "column": 45
                              }
                            },
                            "name": "view"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "reqiured to handle interaction events",
                          "start": 1303,
                          "end": 1342,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 43
                            },
                            "end": {
                              "line": 42,
                              "column": 82
                            }
                          },
                          "range": [
                            1303,
                            1342
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "a method currently intended to handle any mouse events on the selected sketch",
                          "start": 1400,
                          "end": 1479,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 46,
                              "column": 87
                            }
                          },
                          "range": [
                            1400,
                            1479
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1488,
                      "end": 1524,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 8
                        },
                        "end": {
                          "line": 47,
                          "column": 44
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1488,
                        "end": 1523,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 8
                          },
                          "end": {
                            "line": 47,
                            "column": 43
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1488,
                          "end": 1516,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 8
                            },
                            "end": {
                              "line": 47,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1488,
                            "end": 1492,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 8
                              },
                              "end": {
                                "line": 47,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1493,
                            "end": 1516,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 13
                              },
                              "end": {
                                "line": 47,
                                "column": 36
                              }
                            },
                            "name": "__sketchControlsHandler"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Literal",
                          "start": 1519,
                          "end": 1523,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 39
                            },
                            "end": {
                              "line": 47,
                              "column": 43
                            }
                          },
                          "value": null,
                          "rawValue": null,
                          "raw": "null"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "a method currently intended to handle any mouse events on the selected sketch",
                          "start": 1400,
                          "end": 1479,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 46,
                              "column": 87
                            }
                          },
                          "range": [
                            1400,
                            1479
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "used for drawing text labels of dimensions",
                          "start": 1534,
                          "end": 1578,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 8
                            },
                            "end": {
                              "line": 49,
                              "column": 52
                            }
                          },
                          "range": [
                            1534,
                            1578
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1587,
                      "end": 1627,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 8
                        },
                        "end": {
                          "line": 50,
                          "column": 48
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1591,
                          "end": 1626,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 12
                            },
                            "end": {
                              "line": 50,
                              "column": 47
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1591,
                            "end": 1601,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 12
                              },
                              "end": {
                                "line": 50,
                                "column": 22
                              }
                            },
                            "name": "fontLoader",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 1604,
                            "end": 1626,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 25
                              },
                              "end": {
                                "line": 50,
                                "column": 47
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1608,
                              "end": 1624,
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 29
                                },
                                "end": {
                                  "line": 50,
                                  "column": 45
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1608,
                                "end": 1613,
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 34
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1614,
                                "end": 1624,
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 45
                                  }
                                },
                                "name": "FontLoader"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "used for drawing text labels of dimensions",
                          "start": 1534,
                          "end": 1578,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 8
                            },
                            "end": {
                              "line": 49,
                              "column": 52
                            }
                          },
                          "range": [
                            1534,
                            1578
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1636,
                      "end": 1679,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 8
                        },
                        "end": {
                          "line": 51,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1636,
                        "end": 1678,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 8
                          },
                          "end": {
                            "line": 51,
                            "column": 50
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1636,
                          "end": 1645,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 8
                            },
                            "end": {
                              "line": 51,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1636,
                            "end": 1640,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 8
                              },
                              "end": {
                                "line": 51,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1641,
                            "end": 1645,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 13
                              },
                              "end": {
                                "line": 51,
                                "column": 17
                              }
                            },
                            "name": "font"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 1648,
                          "end": 1678,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 20
                            },
                            "end": {
                              "line": 51,
                              "column": 50
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1648,
                            "end": 1664,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 20
                              },
                              "end": {
                                "line": 51,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1648,
                              "end": 1658,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 20
                                },
                                "end": {
                                  "line": 51,
                                  "column": 30
                                }
                              },
                              "name": "fontLoader"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1659,
                              "end": 1664,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 31
                                },
                                "end": {
                                  "line": 51,
                                  "column": 36
                                }
                              },
                              "name": "parse"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1665,
                              "end": 1677,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 37
                                },
                                "end": {
                                  "line": 51,
                                  "column": 49
                                }
                              },
                              "name": "SketcherFont"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1688,
                      "end": 1731,
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 8
                        },
                        "end": {
                          "line": 52,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1688,
                        "end": 1730,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 8
                          },
                          "end": {
                            "line": 52,
                            "column": 50
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1688,
                          "end": 1718,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 8
                            },
                            "end": {
                              "line": 52,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1688,
                            "end": 1713,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 8
                              },
                              "end": {
                                "line": 52,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1688,
                              "end": 1698,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 8
                                },
                                "end": {
                                  "line": 52,
                                  "column": 18
                                }
                              },
                              "name": "Constraint"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1699,
                              "end": 1713,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 19
                                },
                                "end": {
                                  "line": 52,
                                  "column": 33
                                }
                              },
                              "name": "TextParameters"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1714,
                            "end": 1718,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 34
                              },
                              "end": {
                                "line": 52,
                                "column": 38
                              }
                            },
                            "name": "font"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1721,
                          "end": 1730,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 41
                            },
                            "end": {
                              "line": 52,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1721,
                            "end": 1725,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 41
                              },
                              "end": {
                                "line": 52,
                                "column": 45
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1726,
                            "end": 1730,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 46
                              },
                              "end": {
                                "line": 52,
                                "column": 50
                              }
                            },
                            "name": "font"
                          },
                          "computed": false
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " data for viewmodel",
                          "start": 1741,
                          "end": 1762,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 8
                            },
                            "end": {
                              "line": 54,
                              "column": 29
                            }
                          },
                          "range": [
                            1741,
                            1762
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1771,
                      "end": 2713,
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 8
                        },
                        "end": {
                          "line": 73,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1771,
                        "end": 2712,
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 8
                          },
                          "end": {
                            "line": 73,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1771,
                          "end": 1785,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 8
                            },
                            "end": {
                              "line": 55,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1771,
                            "end": 1775,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 8
                              },
                              "end": {
                                "line": 55,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1776,
                            "end": 1785,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 13
                              },
                              "end": {
                                "line": 55,
                                "column": 22
                              }
                            },
                            "name": "modelData"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 1788,
                          "end": 2712,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 25
                            },
                            "end": {
                              "line": 73,
                              "column": 9
                            }
                          },
                          "properties": [
                            {
                              "type": "Property",
                              "start": 1802,
                              "end": 1825,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 12
                                },
                                "end": {
                                  "line": 56,
                                  "column": 35
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 1802,
                                "end": 1818,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 28
                                  }
                                },
                                "name": "isSketchSelected"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 1820,
                                "end": 1825,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 35
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 1839,
                              "end": 1853,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 12
                                },
                                "end": {
                                  "line": 57,
                                  "column": 26
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 1839,
                                "end": 1849,
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 22
                                  }
                                },
                                "name": "promptText"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 1851,
                                "end": 1853,
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 26
                                  }
                                },
                                "value": "",
                                "rawValue": "",
                                "raw": "''"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 1867,
                              "end": 1897,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 12
                                },
                                "end": {
                                  "line": 58,
                                  "column": 42
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 1867,
                                "end": 1890,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 35
                                  }
                                },
                                "name": "isConstraintFormVisible"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 1892,
                                "end": 1897,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 42
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 1911,
                              "end": 1935,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 12
                                },
                                "end": {
                                  "line": 59,
                                  "column": 36
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 1911,
                                "end": 1931,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 32
                                  }
                                },
                                "name": "constraintExpression"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 1933,
                                "end": 1935,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 36
                                  }
                                },
                                "value": "",
                                "rawValue": "",
                                "raw": "\"\""
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 1949,
                              "end": 1967,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 12
                                },
                                "end": {
                                  "line": 60,
                                  "column": 30
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 1949,
                                "end": 1964,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 27
                                  }
                                },
                                "name": "constraintValue"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 1966,
                                "end": 1967,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 30
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 1981,
                              "end": 2002,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 12
                                },
                                "end": {
                                  "line": 61,
                                  "column": 33
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 1981,
                                "end": 1996,
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 27
                                  }
                                },
                                "name": "constraintFixed"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 1998,
                                "end": 2002,
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 33
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2016,
                              "end": 2142,
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 12
                                },
                                "end": {
                                  "line": 62,
                                  "column": 138
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2020,
                                "end": 2030,
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 26
                                  }
                                },
                                "name": "constraint"
                              },
                              "kind": "get",
                              "value": {
                                "type": "FunctionExpression",
                                "start": 2030,
                                "end": 2142,
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 138
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 2033,
                                  "end": 2142,
                                  "loc": {
                                    "start": {
                                      "line": 62,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 62,
                                      "column": 138
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "start": 2035,
                                      "end": 2140,
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 136
                                        }
                                      },
                                      "argument": {
                                        "type": "ObjectExpression",
                                        "start": 2042,
                                        "end": 2139,
                                        "loc": {
                                          "start": {
                                            "line": 62,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 62,
                                            "column": 135
                                          }
                                        },
                                        "properties": [
                                          {
                                            "type": "Property",
                                            "start": 2043,
                                            "end": 2080,
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 76
                                              }
                                            },
                                            "method": false,
                                            "shorthand": false,
                                            "computed": false,
                                            "key": {
                                              "type": "Identifier",
                                              "start": 2043,
                                              "end": 2053,
                                              "loc": {
                                                "start": {
                                                  "line": 62,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 62,
                                                  "column": 49
                                                }
                                              },
                                              "name": "expression"
                                            },
                                            "value": {
                                              "type": "MemberExpression",
                                              "start": 2055,
                                              "end": 2080,
                                              "loc": {
                                                "start": {
                                                  "line": 62,
                                                  "column": 51
                                                },
                                                "end": {
                                                  "line": 62,
                                                  "column": 76
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 2055,
                                                "end": 2059,
                                                "loc": {
                                                  "start": {
                                                    "line": 62,
                                                    "column": 51
                                                  },
                                                  "end": {
                                                    "line": 62,
                                                    "column": 55
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2060,
                                                "end": 2080,
                                                "loc": {
                                                  "start": {
                                                    "line": 62,
                                                    "column": 56
                                                  },
                                                  "end": {
                                                    "line": 62,
                                                    "column": 76
                                                  }
                                                },
                                                "name": "constraintExpression"
                                              },
                                              "computed": false
                                            },
                                            "kind": "init"
                                          },
                                          {
                                            "type": "Property",
                                            "start": 2082,
                                            "end": 2109,
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 78
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 105
                                              }
                                            },
                                            "method": false,
                                            "shorthand": false,
                                            "computed": false,
                                            "key": {
                                              "type": "Identifier",
                                              "start": 2082,
                                              "end": 2087,
                                              "loc": {
                                                "start": {
                                                  "line": 62,
                                                  "column": 78
                                                },
                                                "end": {
                                                  "line": 62,
                                                  "column": 83
                                                }
                                              },
                                              "name": "value"
                                            },
                                            "value": {
                                              "type": "MemberExpression",
                                              "start": 2089,
                                              "end": 2109,
                                              "loc": {
                                                "start": {
                                                  "line": 62,
                                                  "column": 85
                                                },
                                                "end": {
                                                  "line": 62,
                                                  "column": 105
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 2089,
                                                "end": 2093,
                                                "loc": {
                                                  "start": {
                                                    "line": 62,
                                                    "column": 85
                                                  },
                                                  "end": {
                                                    "line": 62,
                                                    "column": 89
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2094,
                                                "end": 2109,
                                                "loc": {
                                                  "start": {
                                                    "line": 62,
                                                    "column": 90
                                                  },
                                                  "end": {
                                                    "line": 62,
                                                    "column": 105
                                                  }
                                                },
                                                "name": "constraintValue"
                                              },
                                              "computed": false
                                            },
                                            "kind": "init"
                                          },
                                          {
                                            "type": "Property",
                                            "start": 2111,
                                            "end": 2138,
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 107
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 134
                                              }
                                            },
                                            "method": false,
                                            "shorthand": false,
                                            "computed": false,
                                            "key": {
                                              "type": "Identifier",
                                              "start": 2111,
                                              "end": 2116,
                                              "loc": {
                                                "start": {
                                                  "line": 62,
                                                  "column": 107
                                                },
                                                "end": {
                                                  "line": 62,
                                                  "column": 112
                                                }
                                              },
                                              "name": "fixed"
                                            },
                                            "value": {
                                              "type": "MemberExpression",
                                              "start": 2118,
                                              "end": 2138,
                                              "loc": {
                                                "start": {
                                                  "line": 62,
                                                  "column": 114
                                                },
                                                "end": {
                                                  "line": 62,
                                                  "column": 134
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 2118,
                                                "end": 2122,
                                                "loc": {
                                                  "start": {
                                                    "line": 62,
                                                    "column": 114
                                                  },
                                                  "end": {
                                                    "line": 62,
                                                    "column": 118
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2123,
                                                "end": 2138,
                                                "loc": {
                                                  "start": {
                                                    "line": 62,
                                                    "column": 119
                                                  },
                                                  "end": {
                                                    "line": 62,
                                                    "column": 134
                                                  }
                                                },
                                                "name": "constraintFixed"
                                              },
                                              "computed": false
                                            },
                                            "kind": "init"
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              }
                            },
                            {
                              "type": "Property",
                              "start": 2156,
                              "end": 2283,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 12
                                },
                                "end": {
                                  "line": 63,
                                  "column": 139
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2160,
                                "end": 2170,
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 26
                                  }
                                },
                                "name": "constraint"
                              },
                              "kind": "set",
                              "value": {
                                "type": "FunctionExpression",
                                "start": 2170,
                                "end": 2283,
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 139
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 2171,
                                    "end": 2172,
                                    "loc": {
                                      "start": {
                                        "line": 63,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 63,
                                        "column": 28
                                      }
                                    },
                                    "name": "c"
                                  }
                                ],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 2174,
                                  "end": 2283,
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 139
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2176,
                                      "end": 2217,
                                      "loc": {
                                        "start": {
                                          "line": 63,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 63,
                                          "column": 73
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 2176,
                                        "end": 2216,
                                        "loc": {
                                          "start": {
                                            "line": 63,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 63,
                                            "column": 72
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 2176,
                                          "end": 2201,
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 57
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 2176,
                                            "end": 2180,
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 36
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2181,
                                            "end": 2201,
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 57
                                              }
                                            },
                                            "name": "constraintExpression"
                                          },
                                          "computed": false
                                        },
                                        "right": {
                                          "type": "MemberExpression",
                                          "start": 2204,
                                          "end": 2216,
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 60
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 72
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2204,
                                            "end": 2205,
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 60
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 61
                                              }
                                            },
                                            "name": "c"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2206,
                                            "end": 2216,
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 62
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 72
                                              }
                                            },
                                            "name": "expression"
                                          },
                                          "computed": false
                                        }
                                      }
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2218,
                                      "end": 2249,
                                      "loc": {
                                        "start": {
                                          "line": 63,
                                          "column": 74
                                        },
                                        "end": {
                                          "line": 63,
                                          "column": 105
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 2218,
                                        "end": 2248,
                                        "loc": {
                                          "start": {
                                            "line": 63,
                                            "column": 74
                                          },
                                          "end": {
                                            "line": 63,
                                            "column": 104
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 2218,
                                          "end": 2238,
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 74
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 94
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 2218,
                                            "end": 2222,
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 74
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 78
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2223,
                                            "end": 2238,
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 79
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 94
                                              }
                                            },
                                            "name": "constraintValue"
                                          },
                                          "computed": false
                                        },
                                        "right": {
                                          "type": "MemberExpression",
                                          "start": 2241,
                                          "end": 2248,
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 97
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 104
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2241,
                                            "end": 2242,
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 97
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 98
                                              }
                                            },
                                            "name": "c"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2243,
                                            "end": 2248,
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 99
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 104
                                              }
                                            },
                                            "name": "value"
                                          },
                                          "computed": false
                                        }
                                      }
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2250,
                                      "end": 2281,
                                      "loc": {
                                        "start": {
                                          "line": 63,
                                          "column": 106
                                        },
                                        "end": {
                                          "line": 63,
                                          "column": 137
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 2250,
                                        "end": 2280,
                                        "loc": {
                                          "start": {
                                            "line": 63,
                                            "column": 106
                                          },
                                          "end": {
                                            "line": 63,
                                            "column": 136
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 2250,
                                          "end": 2270,
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 106
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 126
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 2250,
                                            "end": 2254,
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 106
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 110
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2255,
                                            "end": 2270,
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 111
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 126
                                              }
                                            },
                                            "name": "constraintFixed"
                                          },
                                          "computed": false
                                        },
                                        "right": {
                                          "type": "MemberExpression",
                                          "start": 2273,
                                          "end": 2280,
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 129
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 136
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2273,
                                            "end": 2274,
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 129
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 130
                                              }
                                            },
                                            "name": "c"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2275,
                                            "end": 2280,
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 131
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 136
                                              }
                                            },
                                            "name": "fixed"
                                          },
                                          "computed": false
                                        }
                                      }
                                    }
                                  ]
                                }
                              }
                            },
                            {
                              "type": "Property",
                              "start": 2297,
                              "end": 2328,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 12
                                },
                                "end": {
                                  "line": 64,
                                  "column": 43
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2297,
                                "end": 2313,
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 28
                                  }
                                },
                                "name": "acceptConstraint"
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "start": 2315,
                                "end": 2328,
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 43
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 2326,
                                  "end": 2328,
                                  "loc": {
                                    "start": {
                                      "line": 64,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 64,
                                      "column": 43
                                    }
                                  },
                                  "body": []
                                }
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2342,
                              "end": 2374,
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 12
                                },
                                "end": {
                                  "line": 65,
                                  "column": 44
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2342,
                                "end": 2359,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 29
                                  }
                                },
                                "name": "declineConstraint"
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "start": 2361,
                                "end": 2374,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 44
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 2372,
                                  "end": 2374,
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 65,
                                      "column": 44
                                    }
                                  },
                                  "body": []
                                }
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2388,
                              "end": 2412,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 12
                                },
                                "end": {
                                  "line": 66,
                                  "column": 36
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2388,
                                "end": 2405,
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 66,
                                    "column": 29
                                  }
                                },
                                "name": "_incrementalLevel"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2407,
                                "end": 2412,
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 66,
                                    "column": 36
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2426,
                              "end": 2443,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 12
                                },
                                "end": {
                                  "line": 67,
                                  "column": 29
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2426,
                                "end": 2439,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 25
                                  }
                                },
                                "name": "expressionSet"
                              },
                              "value": {
                                "type": "ArrayExpression",
                                "start": 2441,
                                "end": 2443,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 29
                                  }
                                },
                                "elements": []
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2457,
                              "end": 2479,
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 12
                                },
                                "end": {
                                  "line": 68,
                                  "column": 34
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2457,
                                "end": 2472,
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 27
                                  }
                                },
                                "name": "isHiddenVisible"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2474,
                                "end": 2479,
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 34
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2493,
                              "end": 2538,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 12
                                },
                                "end": {
                                  "line": 69,
                                  "column": 57
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2493,
                                "end": 2517,
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 36
                                  }
                                },
                                "name": "previousInteractionPoint"
                              },
                              "value": {
                                "type": "NewExpression",
                                "start": 2519,
                                "end": 2538,
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 57
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2523,
                                  "end": 2536,
                                  "loc": {
                                    "start": {
                                      "line": 69,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 69,
                                      "column": 55
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2523,
                                    "end": 2528,
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 47
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2529,
                                    "end": 2536,
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 55
                                      }
                                    },
                                    "name": "Vector3"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2552,
                              "end": 2627,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 12
                                },
                                "end": {
                                  "line": 70,
                                  "column": 87
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2552,
                                "end": 2568,
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 28
                                  }
                                },
                                "name": "interactionPoint"
                              },
                              "value": {
                                "type": "NewExpression",
                                "start": 2570,
                                "end": 2627,
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 87
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 2574,
                                  "end": 2588,
                                  "loc": {
                                    "start": {
                                      "line": 70,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 70,
                                      "column": 48
                                    }
                                  },
                                  "name": "CursorPosition"
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 2589,
                                    "end": 2626,
                                    "loc": {
                                      "start": {
                                        "line": 70,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 70,
                                        "column": 86
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 2589,
                                      "end": 2620,
                                      "loc": {
                                        "start": {
                                          "line": 70,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 70,
                                          "column": 80
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2589,
                                        "end": 2615,
                                        "loc": {
                                          "start": {
                                            "line": 70,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 70,
                                            "column": 75
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 2589,
                                          "end": 2593,
                                          "loc": {
                                            "start": {
                                              "line": 70,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 70,
                                              "column": 53
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2594,
                                          "end": 2615,
                                          "loc": {
                                            "start": {
                                              "line": 70,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 70,
                                              "column": 75
                                            }
                                          },
                                          "name": "interactionPointMoved"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2616,
                                        "end": 2620,
                                        "loc": {
                                          "start": {
                                            "line": 70,
                                            "column": 76
                                          },
                                          "end": {
                                            "line": 70,
                                            "column": 80
                                          }
                                        },
                                        "name": "bind"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "ThisExpression",
                                        "start": 2621,
                                        "end": 2625,
                                        "loc": {
                                          "start": {
                                            "line": 70,
                                            "column": 81
                                          },
                                          "end": {
                                            "line": 70,
                                            "column": 85
                                          }
                                        }
                                      }
                                    ]
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2641,
                              "end": 2672,
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 12
                                },
                                "end": {
                                  "line": 71,
                                  "column": 43
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2641,
                                "end": 2666,
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 71,
                                    "column": 37
                                  }
                                },
                                "name": "autoconstraintIncremental"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2668,
                                "end": 2672,
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 71,
                                    "column": 43
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2686,
                              "end": 2701,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 12
                                },
                                "end": {
                                  "line": 72,
                                  "column": 27
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2686,
                                "end": 2697,
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 23
                                  }
                                },
                                "name": "consoleText"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 2699,
                                "end": 2701,
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 27
                                  }
                                },
                                "value": "",
                                "rawValue": "",
                                "raw": "\"\""
                              },
                              "kind": "init"
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " data for viewmodel",
                          "start": 1741,
                          "end": 1762,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 8
                            },
                            "end": {
                              "line": 54,
                              "column": 29
                            }
                          },
                          "range": [
                            1741,
                            1762
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 2722,
                      "end": 2742,
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 8
                        },
                        "end": {
                          "line": 74,
                          "column": 28
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2726,
                          "end": 2741,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 12
                            },
                            "end": {
                              "line": 74,
                              "column": 27
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2726,
                            "end": 2734,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 12
                              },
                              "end": {
                                "line": 74,
                                "column": 20
                              }
                            },
                            "name": "sketcher"
                          },
                          "init": {
                            "type": "ThisExpression",
                            "start": 2737,
                            "end": 2741,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 23
                              },
                              "end": {
                                "line": 74,
                                "column": 27
                              }
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2751,
                      "end": 3051,
                      "loc": {
                        "start": {
                          "line": 75,
                          "column": 8
                        },
                        "end": {
                          "line": 82,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2751,
                        "end": 3050,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 8
                          },
                          "end": {
                            "line": 82,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2751,
                          "end": 2772,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 8
                            },
                            "end": {
                              "line": 75,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2751,
                            "end": 2757,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 8
                              },
                              "end": {
                                "line": 75,
                                "column": 14
                              }
                            },
                            "name": "Object"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2758,
                            "end": 2772,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 15
                              },
                              "end": {
                                "line": 75,
                                "column": 29
                              }
                            },
                            "name": "defineProperty"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 2773,
                            "end": 2787,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 30
                              },
                              "end": {
                                "line": 75,
                                "column": 44
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2773,
                              "end": 2777,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 30
                                },
                                "end": {
                                  "line": 75,
                                  "column": 34
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2778,
                              "end": 2787,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 35
                                },
                                "end": {
                                  "line": 75,
                                  "column": 44
                                }
                              },
                              "name": "modelData"
                            },
                            "computed": false
                          },
                          {
                            "type": "Literal",
                            "start": 2789,
                            "end": 2807,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 46
                              },
                              "end": {
                                "line": 75,
                                "column": 64
                              }
                            },
                            "value": "incrementalLevel",
                            "rawValue": "incrementalLevel",
                            "raw": "'incrementalLevel'"
                          },
                          {
                            "type": "ObjectExpression",
                            "start": 2809,
                            "end": 3049,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 66
                              },
                              "end": {
                                "line": 82,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 2823,
                                "end": 2839,
                                "loc": {
                                  "start": {
                                    "line": 76,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 28
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 2823,
                                  "end": 2833,
                                  "loc": {
                                    "start": {
                                      "line": 76,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 76,
                                      "column": 22
                                    }
                                  },
                                  "name": "enumerable"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 2835,
                                  "end": 2839,
                                  "loc": {
                                    "start": {
                                      "line": 76,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 76,
                                      "column": 28
                                    }
                                  },
                                  "value": true,
                                  "rawValue": true,
                                  "raw": "true"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 2853,
                                "end": 2871,
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 77,
                                    "column": 30
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 2853,
                                  "end": 2865,
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 24
                                    }
                                  },
                                  "name": "configurable"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 2867,
                                  "end": 2871,
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 30
                                    }
                                  },
                                  "value": true,
                                  "rawValue": true,
                                  "raw": "true"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 2885,
                                "end": 2935,
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 62
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 2885,
                                  "end": 2888,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 15
                                    }
                                  },
                                  "name": "get"
                                },
                                "value": {
                                  "type": "FunctionExpression",
                                  "start": 2890,
                                  "end": 2935,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 62
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 2901,
                                    "end": 2935,
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 62
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ReturnStatement",
                                        "start": 2903,
                                        "end": 2933,
                                        "loc": {
                                          "start": {
                                            "line": 78,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 78,
                                            "column": 60
                                          }
                                        },
                                        "argument": {
                                          "type": "MemberExpression",
                                          "start": 2910,
                                          "end": 2932,
                                          "loc": {
                                            "start": {
                                              "line": 78,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 78,
                                              "column": 59
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 2910,
                                            "end": 2914,
                                            "loc": {
                                              "start": {
                                                "line": 78,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 78,
                                                "column": 41
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2915,
                                            "end": 2932,
                                            "loc": {
                                              "start": {
                                                "line": 78,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 78,
                                                "column": 59
                                              }
                                            },
                                            "name": "_incrementalLevel"
                                          },
                                          "computed": false
                                        }
                                      }
                                    ]
                                  }
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 2949,
                                "end": 3038,
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 81,
                                    "column": 13
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 2949,
                                  "end": 2952,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 15
                                    }
                                  },
                                  "name": "set"
                                },
                                "value": {
                                  "type": "FunctionExpression",
                                  "start": 2954,
                                  "end": 3038,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 81,
                                      "column": 13
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 2963,
                                      "end": 2968,
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 31
                                        }
                                      },
                                      "name": "value"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 2970,
                                    "end": 3038,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 2988,
                                        "end": 3024,
                                        "loc": {
                                          "start": {
                                            "line": 80,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 80,
                                            "column": 52
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 2988,
                                          "end": 3023,
                                          "loc": {
                                            "start": {
                                              "line": 80,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 80,
                                              "column": 51
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 2988,
                                            "end": 3016,
                                            "loc": {
                                              "start": {
                                                "line": 80,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 80,
                                                "column": 44
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2988,
                                              "end": 2996,
                                              "loc": {
                                                "start": {
                                                  "line": 80,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 80,
                                                  "column": 24
                                                }
                                              },
                                              "name": "sketcher"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2997,
                                              "end": 3016,
                                              "loc": {
                                                "start": {
                                                  "line": 80,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 80,
                                                  "column": 44
                                                }
                                              },
                                              "name": "setIncrementalLevel"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 3017,
                                              "end": 3022,
                                              "loc": {
                                                "start": {
                                                  "line": 80,
                                                  "column": 45
                                                },
                                                "end": {
                                                  "line": 80,
                                                  "column": 50
                                                }
                                              },
                                              "name": "value"
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3060,
                      "end": 4888,
                      "loc": {
                        "start": {
                          "line": 83,
                          "column": 8
                        },
                        "end": {
                          "line": 120,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3060,
                        "end": 4887,
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 8
                          },
                          "end": {
                            "line": 120,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3060,
                          "end": 3077,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 8
                            },
                            "end": {
                              "line": 83,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3060,
                            "end": 3064,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 8
                              },
                              "end": {
                                "line": 83,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3065,
                            "end": 3077,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 13
                              },
                              "end": {
                                "line": 83,
                                "column": 25
                              }
                            },
                            "name": "modelMethods"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 3080,
                          "end": 4887,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 28
                            },
                            "end": {
                              "line": 120,
                              "column": 9
                            }
                          },
                          "properties": [
                            {
                              "type": "Property",
                              "start": 3094,
                              "end": 3241,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 12
                                },
                                "end": {
                                  "line": 86,
                                  "column": 13
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 3094,
                                "end": 3107,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 25
                                  }
                                },
                                "name": "addExpression"
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "start": 3109,
                                "end": 3241,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 86,
                                    "column": 13
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 3120,
                                  "end": 3241,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 86,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 3138,
                                      "end": 3227,
                                      "loc": {
                                        "start": {
                                          "line": 85,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 85,
                                          "column": 105
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 3138,
                                        "end": 3226,
                                        "loc": {
                                          "start": {
                                            "line": 85,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 85,
                                            "column": 104
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 3138,
                                          "end": 3161,
                                          "loc": {
                                            "start": {
                                              "line": 85,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 85,
                                              "column": 39
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 3138,
                                            "end": 3156,
                                            "loc": {
                                              "start": {
                                                "line": 85,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 85,
                                                "column": 34
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 3138,
                                              "end": 3142,
                                              "loc": {
                                                "start": {
                                                  "line": 85,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 85,
                                                  "column": 20
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 3143,
                                              "end": 3156,
                                              "loc": {
                                                "start": {
                                                  "line": 85,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 85,
                                                  "column": 34
                                                }
                                              },
                                              "name": "expressionSet"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 3157,
                                            "end": 3161,
                                            "loc": {
                                              "start": {
                                                "line": 85,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 85,
                                                "column": 39
                                              }
                                            },
                                            "name": "push"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "ObjectExpression",
                                            "start": 3162,
                                            "end": 3225,
                                            "loc": {
                                              "start": {
                                                "line": 85,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 85,
                                                "column": 103
                                              }
                                            },
                                            "properties": [
                                              {
                                                "type": "Property",
                                                "start": 3163,
                                                "end": 3170,
                                                "loc": {
                                                  "start": {
                                                    "line": 85,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 85,
                                                    "column": 48
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 3163,
                                                  "end": 3167,
                                                  "loc": {
                                                    "start": {
                                                      "line": 85,
                                                      "column": 41
                                                    },
                                                    "end": {
                                                      "line": 85,
                                                      "column": 45
                                                    }
                                                  },
                                                  "name": "name"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 3168,
                                                  "end": 3170,
                                                  "loc": {
                                                    "start": {
                                                      "line": 85,
                                                      "column": 46
                                                    },
                                                    "end": {
                                                      "line": 85,
                                                      "column": 48
                                                    }
                                                  },
                                                  "value": "",
                                                  "rawValue": "",
                                                  "raw": "''"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 3172,
                                                "end": 3180,
                                                "loc": {
                                                  "start": {
                                                    "line": 85,
                                                    "column": 50
                                                  },
                                                  "end": {
                                                    "line": 85,
                                                    "column": 58
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 3172,
                                                  "end": 3177,
                                                  "loc": {
                                                    "start": {
                                                      "line": 85,
                                                      "column": 50
                                                    },
                                                    "end": {
                                                      "line": 85,
                                                      "column": 55
                                                    }
                                                  },
                                                  "name": "value"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 3179,
                                                  "end": 3180,
                                                  "loc": {
                                                    "start": {
                                                      "line": 85,
                                                      "column": 57
                                                    },
                                                    "end": {
                                                      "line": 85,
                                                      "column": 58
                                                    }
                                                  },
                                                  "value": 0,
                                                  "rawValue": 0,
                                                  "raw": "0"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 3182,
                                                "end": 3196,
                                                "loc": {
                                                  "start": {
                                                    "line": 85,
                                                    "column": 60
                                                  },
                                                  "end": {
                                                    "line": 85,
                                                    "column": 74
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 3182,
                                                  "end": 3192,
                                                  "loc": {
                                                    "start": {
                                                      "line": 85,
                                                      "column": 60
                                                    },
                                                    "end": {
                                                      "line": 85,
                                                      "column": 70
                                                    }
                                                  },
                                                  "name": "expression"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 3194,
                                                  "end": 3196,
                                                  "loc": {
                                                    "start": {
                                                      "line": 85,
                                                      "column": 72
                                                    },
                                                    "end": {
                                                      "line": 85,
                                                      "column": 74
                                                    }
                                                  },
                                                  "value": "",
                                                  "rawValue": "",
                                                  "raw": "''"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 3198,
                                                "end": 3209,
                                                "loc": {
                                                  "start": {
                                                    "line": 85,
                                                    "column": 76
                                                  },
                                                  "end": {
                                                    "line": 85,
                                                    "column": 87
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 3198,
                                                  "end": 3203,
                                                  "loc": {
                                                    "start": {
                                                      "line": 85,
                                                      "column": 76
                                                    },
                                                    "end": {
                                                      "line": 85,
                                                      "column": 81
                                                    }
                                                  },
                                                  "name": "fixed"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 3205,
                                                  "end": 3209,
                                                  "loc": {
                                                    "start": {
                                                      "line": 85,
                                                      "column": 83
                                                    },
                                                    "end": {
                                                      "line": 85,
                                                      "column": 87
                                                    }
                                                  },
                                                  "value": true,
                                                  "rawValue": true,
                                                  "raw": "true"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 3211,
                                                "end": 3224,
                                                "loc": {
                                                  "start": {
                                                    "line": 85,
                                                    "column": 89
                                                  },
                                                  "end": {
                                                    "line": 85,
                                                    "column": 102
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 3211,
                                                  "end": 3218,
                                                  "loc": {
                                                    "start": {
                                                      "line": 85,
                                                      "column": 89
                                                    },
                                                    "end": {
                                                      "line": 85,
                                                      "column": 96
                                                    }
                                                  },
                                                  "name": "visible"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 3220,
                                                  "end": 3224,
                                                  "loc": {
                                                    "start": {
                                                      "line": 85,
                                                      "column": 98
                                                    },
                                                    "end": {
                                                      "line": 85,
                                                      "column": 102
                                                    }
                                                  },
                                                  "value": true,
                                                  "rawValue": true,
                                                  "raw": "true"
                                                },
                                                "kind": "init"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 3255,
                              "end": 3468,
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 12
                                },
                                "end": {
                                  "line": 91,
                                  "column": 13
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 3255,
                                "end": 3271,
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 87,
                                    "column": 28
                                  }
                                },
                                "name": "removeExpression"
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "start": 3273,
                                "end": 3468,
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 91,
                                    "column": 13
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 3282,
                                    "end": 3292,
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 49
                                      }
                                    },
                                    "name": "expression"
                                  }
                                ],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 3294,
                                  "end": 3468,
                                  "loc": {
                                    "start": {
                                      "line": 87,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 91,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 3312,
                                      "end": 3363,
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 88,
                                          "column": 67
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 3316,
                                          "end": 3362,
                                          "loc": {
                                            "start": {
                                              "line": 88,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 88,
                                              "column": 66
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 3316,
                                            "end": 3321,
                                            "loc": {
                                              "start": {
                                                "line": 88,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 88,
                                                "column": 25
                                              }
                                            },
                                            "name": "index"
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "start": 3324,
                                            "end": 3362,
                                            "loc": {
                                              "start": {
                                                "line": 88,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 88,
                                                "column": 66
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3324,
                                              "end": 3350,
                                              "loc": {
                                                "start": {
                                                  "line": 88,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 88,
                                                  "column": 54
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3324,
                                                "end": 3342,
                                                "loc": {
                                                  "start": {
                                                    "line": 88,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 88,
                                                    "column": 46
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 3324,
                                                  "end": 3328,
                                                  "loc": {
                                                    "start": {
                                                      "line": 88,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 88,
                                                      "column": 32
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3329,
                                                  "end": 3342,
                                                  "loc": {
                                                    "start": {
                                                      "line": 88,
                                                      "column": 33
                                                    },
                                                    "end": {
                                                      "line": 88,
                                                      "column": 46
                                                    }
                                                  },
                                                  "name": "expressionSet"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3343,
                                                "end": 3350,
                                                "loc": {
                                                  "start": {
                                                    "line": 88,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 88,
                                                    "column": 54
                                                  }
                                                },
                                                "name": "indexOf"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 3351,
                                                "end": 3361,
                                                "loc": {
                                                  "start": {
                                                    "line": 88,
                                                    "column": 55
                                                  },
                                                  "end": {
                                                    "line": 88,
                                                    "column": 65
                                                  }
                                                },
                                                "name": "expression"
                                              }
                                            ]
                                          }
                                        }
                                      ],
                                      "kind": "var"
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 3380,
                                      "end": 3454,
                                      "loc": {
                                        "start": {
                                          "line": 89,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 56
                                        }
                                      },
                                      "test": {
                                        "type": "BinaryExpression",
                                        "start": 3384,
                                        "end": 3396,
                                        "loc": {
                                          "start": {
                                            "line": 89,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 89,
                                            "column": 32
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 3384,
                                          "end": 3389,
                                          "loc": {
                                            "start": {
                                              "line": 89,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 89,
                                              "column": 25
                                            }
                                          },
                                          "name": "index"
                                        },
                                        "operator": "!==",
                                        "right": {
                                          "type": "UnaryExpression",
                                          "start": 3394,
                                          "end": 3396,
                                          "loc": {
                                            "start": {
                                              "line": 89,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 89,
                                              "column": 32
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Literal",
                                            "start": 3395,
                                            "end": 3396,
                                            "loc": {
                                              "start": {
                                                "line": 89,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 89,
                                                "column": 32
                                              }
                                            },
                                            "value": 1,
                                            "rawValue": 1,
                                            "raw": "1"
                                          }
                                        }
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 3418,
                                        "end": 3454,
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 56
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 3418,
                                          "end": 3453,
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 55
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 3418,
                                            "end": 3443,
                                            "loc": {
                                              "start": {
                                                "line": 90,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 90,
                                                "column": 45
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 3418,
                                              "end": 3436,
                                              "loc": {
                                                "start": {
                                                  "line": 90,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 90,
                                                  "column": 38
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 3418,
                                                "end": 3422,
                                                "loc": {
                                                  "start": {
                                                    "line": 90,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 90,
                                                    "column": 24
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3423,
                                                "end": 3436,
                                                "loc": {
                                                  "start": {
                                                    "line": 90,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 90,
                                                    "column": 38
                                                  }
                                                },
                                                "name": "expressionSet"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 3437,
                                              "end": 3443,
                                              "loc": {
                                                "start": {
                                                  "line": 90,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 90,
                                                  "column": 45
                                                }
                                              },
                                              "name": "splice"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 3444,
                                              "end": 3449,
                                              "loc": {
                                                "start": {
                                                  "line": 90,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 90,
                                                  "column": 51
                                                }
                                              },
                                              "name": "index"
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 3451,
                                              "end": 3452,
                                              "loc": {
                                                "start": {
                                                  "line": 90,
                                                  "column": 53
                                                },
                                                "end": {
                                                  "line": 90,
                                                  "column": 54
                                                }
                                              },
                                              "value": 1,
                                              "rawValue": 1,
                                              "raw": "1"
                                            }
                                          ]
                                        }
                                      },
                                      "alternate": null
                                    }
                                  ]
                                }
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 3482,
                              "end": 3616,
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 12
                                },
                                "end": {
                                  "line": 94,
                                  "column": 13
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 3482,
                                "end": 3500,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 30
                                  }
                                },
                                "name": "resetExpressionSet"
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "start": 3502,
                                "end": 3616,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 13
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 3513,
                                  "end": 3616,
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 94,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 3531,
                                      "end": 3602,
                                      "loc": {
                                        "start": {
                                          "line": 93,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 93,
                                          "column": 87
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 3531,
                                        "end": 3601,
                                        "loc": {
                                          "start": {
                                            "line": 93,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 93,
                                            "column": 86
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 3531,
                                          "end": 3543,
                                          "loc": {
                                            "start": {
                                              "line": 93,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 93,
                                              "column": 28
                                            }
                                          },
                                          "name": "trackPromise"
                                        },
                                        "arguments": [
                                          {
                                            "type": "CallExpression",
                                            "start": 3544,
                                            "end": 3600,
                                            "loc": {
                                              "start": {
                                                "line": 93,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 93,
                                                "column": 85
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3544,
                                              "end": 3583,
                                              "loc": {
                                                "start": {
                                                  "line": 93,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 93,
                                                  "column": 68
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3544,
                                                "end": 3566,
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 51
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3544,
                                                  "end": 3552,
                                                  "loc": {
                                                    "start": {
                                                      "line": 93,
                                                      "column": 29
                                                    },
                                                    "end": {
                                                      "line": 93,
                                                      "column": 37
                                                    }
                                                  },
                                                  "name": "sketcher"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3553,
                                                  "end": 3566,
                                                  "loc": {
                                                    "start": {
                                                      "line": 93,
                                                      "column": 38
                                                    },
                                                    "end": {
                                                      "line": 93,
                                                      "column": 51
                                                    }
                                                  },
                                                  "name": "currentSketch"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3567,
                                                "end": 3583,
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 52
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 68
                                                  }
                                                },
                                                "name": "updateFromServer"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "MemberExpression",
                                                "start": 3584,
                                                "end": 3599,
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 69
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 84
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3584,
                                                  "end": 3592,
                                                  "loc": {
                                                    "start": {
                                                      "line": 93,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 93,
                                                      "column": 77
                                                    }
                                                  },
                                                  "name": "sketcher"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3593,
                                                  "end": 3599,
                                                  "loc": {
                                                    "start": {
                                                      "line": 93,
                                                      "column": 78
                                                    },
                                                    "end": {
                                                      "line": 93,
                                                      "column": 84
                                                    }
                                                  },
                                                  "name": "server"
                                                },
                                                "computed": false
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 3630,
                              "end": 4052,
                              "loc": {
                                "start": {
                                  "line": 95,
                                  "column": 12
                                },
                                "end": {
                                  "line": 101,
                                  "column": 13
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 3630,
                                "end": 3649,
                                "loc": {
                                  "start": {
                                    "line": 95,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 95,
                                    "column": 31
                                  }
                                },
                                "name": "submitExpressionSet"
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "start": 3651,
                                "end": 4052,
                                "loc": {
                                  "start": {
                                    "line": 95,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 101,
                                    "column": 13
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 3662,
                                  "end": 4052,
                                  "loc": {
                                    "start": {
                                      "line": 95,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 101,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 3680,
                                      "end": 3764,
                                      "loc": {
                                        "start": {
                                          "line": 96,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 96,
                                          "column": 100
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 3684,
                                          "end": 3763,
                                          "loc": {
                                            "start": {
                                              "line": 96,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 96,
                                              "column": 99
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 3684,
                                            "end": 3691,
                                            "loc": {
                                              "start": {
                                                "line": 96,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 96,
                                                "column": 27
                                              }
                                            },
                                            "name": "esArray"
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "start": 3694,
                                            "end": 3763,
                                            "loc": {
                                              "start": {
                                                "line": 96,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 96,
                                                "column": 99
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3694,
                                              "end": 3716,
                                              "loc": {
                                                "start": {
                                                  "line": 96,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 96,
                                                  "column": 52
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3694,
                                                "end": 3712,
                                                "loc": {
                                                  "start": {
                                                    "line": 96,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 96,
                                                    "column": 48
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 3694,
                                                  "end": 3698,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 34
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3699,
                                                  "end": 3712,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 35
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 48
                                                    }
                                                  },
                                                  "name": "expressionSet"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3713,
                                                "end": 3716,
                                                "loc": {
                                                  "start": {
                                                    "line": 96,
                                                    "column": 49
                                                  },
                                                  "end": {
                                                    "line": 96,
                                                    "column": 52
                                                  }
                                                },
                                                "name": "map"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "ArrowFunctionExpression",
                                                "start": 3717,
                                                "end": 3762,
                                                "loc": {
                                                  "start": {
                                                    "line": 96,
                                                    "column": 53
                                                  },
                                                  "end": {
                                                    "line": 96,
                                                    "column": 98
                                                  }
                                                },
                                                "id": null,
                                                "generator": false,
                                                "expression": true,
                                                "async": false,
                                                "params": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 3717,
                                                    "end": 3718,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 54
                                                      }
                                                    },
                                                    "name": "e"
                                                  }
                                                ],
                                                "body": {
                                                  "type": "ArrayExpression",
                                                  "start": 3722,
                                                  "end": 3762,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 58
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 98
                                                    }
                                                  },
                                                  "elements": [
                                                    {
                                                      "type": "MemberExpression",
                                                      "start": 3723,
                                                      "end": 3729,
                                                      "loc": {
                                                        "start": {
                                                          "line": 96,
                                                          "column": 59
                                                        },
                                                        "end": {
                                                          "line": 96,
                                                          "column": 65
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 3723,
                                                        "end": 3724,
                                                        "loc": {
                                                          "start": {
                                                            "line": 96,
                                                            "column": 59
                                                          },
                                                          "end": {
                                                            "line": 96,
                                                            "column": 60
                                                          }
                                                        },
                                                        "name": "e"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 3725,
                                                        "end": 3729,
                                                        "loc": {
                                                          "start": {
                                                            "line": 96,
                                                            "column": 61
                                                          },
                                                          "end": {
                                                            "line": 96,
                                                            "column": 65
                                                          }
                                                        },
                                                        "name": "name"
                                                      },
                                                      "computed": false
                                                    },
                                                    {
                                                      "type": "MemberExpression",
                                                      "start": 3731,
                                                      "end": 3738,
                                                      "loc": {
                                                        "start": {
                                                          "line": 96,
                                                          "column": 67
                                                        },
                                                        "end": {
                                                          "line": 96,
                                                          "column": 74
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 3731,
                                                        "end": 3732,
                                                        "loc": {
                                                          "start": {
                                                            "line": 96,
                                                            "column": 67
                                                          },
                                                          "end": {
                                                            "line": 96,
                                                            "column": 68
                                                          }
                                                        },
                                                        "name": "e"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 3733,
                                                        "end": 3738,
                                                        "loc": {
                                                          "start": {
                                                            "line": 96,
                                                            "column": 69
                                                          },
                                                          "end": {
                                                            "line": 96,
                                                            "column": 74
                                                          }
                                                        },
                                                        "name": "value"
                                                      },
                                                      "computed": false
                                                    },
                                                    {
                                                      "type": "MemberExpression",
                                                      "start": 3740,
                                                      "end": 3752,
                                                      "loc": {
                                                        "start": {
                                                          "line": 96,
                                                          "column": 76
                                                        },
                                                        "end": {
                                                          "line": 96,
                                                          "column": 88
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 3740,
                                                        "end": 3741,
                                                        "loc": {
                                                          "start": {
                                                            "line": 96,
                                                            "column": 76
                                                          },
                                                          "end": {
                                                            "line": 96,
                                                            "column": 77
                                                          }
                                                        },
                                                        "name": "e"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 3742,
                                                        "end": 3752,
                                                        "loc": {
                                                          "start": {
                                                            "line": 96,
                                                            "column": 78
                                                          },
                                                          "end": {
                                                            "line": 96,
                                                            "column": 88
                                                          }
                                                        },
                                                        "name": "expression"
                                                      },
                                                      "computed": false
                                                    },
                                                    {
                                                      "type": "MemberExpression",
                                                      "start": 3754,
                                                      "end": 3761,
                                                      "loc": {
                                                        "start": {
                                                          "line": 96,
                                                          "column": 90
                                                        },
                                                        "end": {
                                                          "line": 96,
                                                          "column": 97
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 3754,
                                                        "end": 3755,
                                                        "loc": {
                                                          "start": {
                                                            "line": 96,
                                                            "column": 90
                                                          },
                                                          "end": {
                                                            "line": 96,
                                                            "column": 91
                                                          }
                                                        },
                                                        "name": "e"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 3756,
                                                        "end": 3761,
                                                        "loc": {
                                                          "start": {
                                                            "line": 96,
                                                            "column": 92
                                                          },
                                                          "end": {
                                                            "line": 96,
                                                            "column": 97
                                                          }
                                                        },
                                                        "name": "fixed"
                                                      },
                                                      "computed": false
                                                    }
                                                  ]
                                                }
                                              }
                                            ]
                                          }
                                        }
                                      ],
                                      "kind": "var"
                                    },
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 3781,
                                      "end": 3881,
                                      "loc": {
                                        "start": {
                                          "line": 97,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 97,
                                          "column": 116
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 3785,
                                          "end": 3880,
                                          "loc": {
                                            "start": {
                                              "line": 97,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 97,
                                              "column": 115
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 3785,
                                            "end": 3792,
                                            "loc": {
                                              "start": {
                                                "line": 97,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 97,
                                                "column": 27
                                              }
                                            },
                                            "name": "promise"
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "start": 3795,
                                            "end": 3880,
                                            "loc": {
                                              "start": {
                                                "line": 97,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 97,
                                                "column": 115
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3795,
                                              "end": 3863,
                                              "loc": {
                                                "start": {
                                                  "line": 97,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 97,
                                                  "column": 98
                                                }
                                              },
                                              "object": {
                                                "type": "CallExpression",
                                                "start": 3795,
                                                "end": 3855,
                                                "loc": {
                                                  "start": {
                                                    "line": 97,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 97,
                                                    "column": 90
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 3795,
                                                  "end": 3822,
                                                  "loc": {
                                                    "start": {
                                                      "line": 97,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 97,
                                                      "column": 57
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 3795,
                                                    "end": 3802,
                                                    "loc": {
                                                      "start": {
                                                        "line": 97,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 97,
                                                        "column": 37
                                                      }
                                                    },
                                                    "name": "Interop"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3803,
                                                    "end": 3822,
                                                    "loc": {
                                                      "start": {
                                                        "line": 97,
                                                        "column": 38
                                                      },
                                                      "end": {
                                                        "line": 97,
                                                        "column": 57
                                                      }
                                                    },
                                                    "name": "UpdateExpressionSet"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "MemberExpression",
                                                    "start": 3823,
                                                    "end": 3845,
                                                    "loc": {
                                                      "start": {
                                                        "line": 97,
                                                        "column": 58
                                                      },
                                                      "end": {
                                                        "line": 97,
                                                        "column": 80
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 3823,
                                                      "end": 3831,
                                                      "loc": {
                                                        "start": {
                                                          "line": 97,
                                                          "column": 58
                                                        },
                                                        "end": {
                                                          "line": 97,
                                                          "column": 66
                                                        }
                                                      },
                                                      "name": "sketcher"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 3832,
                                                      "end": 3845,
                                                      "loc": {
                                                        "start": {
                                                          "line": 97,
                                                          "column": 67
                                                        },
                                                        "end": {
                                                          "line": 97,
                                                          "column": 80
                                                        }
                                                      },
                                                      "name": "currentSketch"
                                                    },
                                                    "computed": false
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 3847,
                                                    "end": 3854,
                                                    "loc": {
                                                      "start": {
                                                        "line": 97,
                                                        "column": 82
                                                      },
                                                      "end": {
                                                        "line": 97,
                                                        "column": 89
                                                      }
                                                    },
                                                    "name": "esArray"
                                                  }
                                                ]
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3856,
                                                "end": 3863,
                                                "loc": {
                                                  "start": {
                                                    "line": 97,
                                                    "column": 91
                                                  },
                                                  "end": {
                                                    "line": 97,
                                                    "column": 98
                                                  }
                                                },
                                                "name": "execute"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "MemberExpression",
                                                "start": 3864,
                                                "end": 3879,
                                                "loc": {
                                                  "start": {
                                                    "line": 97,
                                                    "column": 99
                                                  },
                                                  "end": {
                                                    "line": 97,
                                                    "column": 114
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3864,
                                                  "end": 3872,
                                                  "loc": {
                                                    "start": {
                                                      "line": 97,
                                                      "column": 99
                                                    },
                                                    "end": {
                                                      "line": 97,
                                                      "column": 107
                                                    }
                                                  },
                                                  "name": "sketcher"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3873,
                                                  "end": 3879,
                                                  "loc": {
                                                    "start": {
                                                      "line": 97,
                                                      "column": 108
                                                    },
                                                    "end": {
                                                      "line": 97,
                                                      "column": 114
                                                    }
                                                  },
                                                  "name": "server"
                                                },
                                                "computed": false
                                              }
                                            ]
                                          }
                                        }
                                      ],
                                      "kind": "var"
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 3898,
                                      "end": 3999,
                                      "loc": {
                                        "start": {
                                          "line": 98,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 99,
                                          "column": 74
                                        }
                                      },
                                      "test": {
                                        "type": "MemberExpression",
                                        "start": 3902,
                                        "end": 3923,
                                        "loc": {
                                          "start": {
                                            "line": 98,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 98,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 3902,
                                          "end": 3906,
                                          "loc": {
                                            "start": {
                                              "line": 98,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 98,
                                              "column": 24
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 3907,
                                          "end": 3923,
                                          "loc": {
                                            "start": {
                                              "line": 98,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 98,
                                              "column": 41
                                            }
                                          },
                                          "name": "incrementalLevel"
                                        },
                                        "computed": false
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 3945,
                                        "end": 3999,
                                        "loc": {
                                          "start": {
                                            "line": 99,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 99,
                                            "column": 74
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 3945,
                                          "end": 3998,
                                          "loc": {
                                            "start": {
                                              "line": 99,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 99,
                                              "column": 73
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "start": 3945,
                                            "end": 3952,
                                            "loc": {
                                              "start": {
                                                "line": 99,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 99,
                                                "column": 27
                                              }
                                            },
                                            "name": "promise"
                                          },
                                          "right": {
                                            "type": "CallExpression",
                                            "start": 3955,
                                            "end": 3998,
                                            "loc": {
                                              "start": {
                                                "line": 99,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 99,
                                                "column": 73
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3955,
                                              "end": 3967,
                                              "loc": {
                                                "start": {
                                                  "line": 99,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 99,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 3955,
                                                "end": 3962,
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 37
                                                  }
                                                },
                                                "name": "promise"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3963,
                                                "end": 3967,
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 38
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "then"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "ArrowFunctionExpression",
                                                "start": 3968,
                                                "end": 3997,
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 72
                                                  }
                                                },
                                                "id": null,
                                                "generator": false,
                                                "expression": true,
                                                "async": false,
                                                "params": [],
                                                "body": {
                                                  "type": "CallExpression",
                                                  "start": 3974,
                                                  "end": 3997,
                                                  "loc": {
                                                    "start": {
                                                      "line": 99,
                                                      "column": 49
                                                    },
                                                    "end": {
                                                      "line": 99,
                                                      "column": 72
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 3974,
                                                    "end": 3995,
                                                    "loc": {
                                                      "start": {
                                                        "line": 99,
                                                        "column": 49
                                                      },
                                                      "end": {
                                                        "line": 99,
                                                        "column": 70
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 3974,
                                                      "end": 3978,
                                                      "loc": {
                                                        "start": {
                                                          "line": 99,
                                                          "column": 49
                                                        },
                                                        "end": {
                                                          "line": 99,
                                                          "column": 53
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 3979,
                                                      "end": 3995,
                                                      "loc": {
                                                        "start": {
                                                          "line": 99,
                                                          "column": 54
                                                        },
                                                        "end": {
                                                          "line": 99,
                                                          "column": 70
                                                        }
                                                      },
                                                      "name": "solveConstraints"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": []
                                                }
                                              }
                                            ]
                                          }
                                        }
                                      },
                                      "alternate": null
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 4016,
                                      "end": 4038,
                                      "loc": {
                                        "start": {
                                          "line": 100,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 100,
                                          "column": 38
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 4016,
                                        "end": 4037,
                                        "loc": {
                                          "start": {
                                            "line": 100,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 100,
                                            "column": 37
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 4016,
                                          "end": 4028,
                                          "loc": {
                                            "start": {
                                              "line": 100,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 100,
                                              "column": 28
                                            }
                                          },
                                          "name": "trackPromise"
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 4029,
                                            "end": 4036,
                                            "loc": {
                                              "start": {
                                                "line": 100,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 100,
                                                "column": 36
                                              }
                                            },
                                            "name": "promise"
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 4066,
                              "end": 4104,
                              "loc": {
                                "start": {
                                  "line": 102,
                                  "column": 12
                                },
                                "end": {
                                  "line": 102,
                                  "column": 50
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4066,
                                "end": 4076,
                                "loc": {
                                  "start": {
                                    "line": 102,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 102,
                                    "column": 22
                                  }
                                },
                                "name": "chooseTool"
                              },
                              "value": {
                                "type": "CallExpression",
                                "start": 4078,
                                "end": 4104,
                                "loc": {
                                  "start": {
                                    "line": 102,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 102,
                                    "column": 50
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4078,
                                  "end": 4098,
                                  "loc": {
                                    "start": {
                                      "line": 102,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 102,
                                      "column": 44
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4078,
                                    "end": 4093,
                                    "loc": {
                                      "start": {
                                        "line": 102,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 102,
                                        "column": 39
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4078,
                                      "end": 4082,
                                      "loc": {
                                        "start": {
                                          "line": 102,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 102,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4083,
                                      "end": 4093,
                                      "loc": {
                                        "start": {
                                          "line": 102,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 102,
                                          "column": 39
                                        }
                                      },
                                      "name": "chooseTool"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4094,
                                    "end": 4098,
                                    "loc": {
                                      "start": {
                                        "line": 102,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 102,
                                        "column": 44
                                      }
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4099,
                                    "end": 4103,
                                    "loc": {
                                      "start": {
                                        "line": 102,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 102,
                                        "column": 49
                                      }
                                    }
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 4118,
                              "end": 4164,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 12
                                },
                                "end": {
                                  "line": 103,
                                  "column": 58
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4118,
                                "end": 4132,
                                "loc": {
                                  "start": {
                                    "line": 103,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 103,
                                    "column": 26
                                  }
                                },
                                "name": "deselectSketch"
                              },
                              "value": {
                                "type": "CallExpression",
                                "start": 4134,
                                "end": 4164,
                                "loc": {
                                  "start": {
                                    "line": 103,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 103,
                                    "column": 58
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4134,
                                  "end": 4158,
                                  "loc": {
                                    "start": {
                                      "line": 103,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 103,
                                      "column": 52
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4134,
                                    "end": 4153,
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 103,
                                        "column": 47
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4134,
                                      "end": 4138,
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4139,
                                      "end": 4153,
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 47
                                        }
                                      },
                                      "name": "deselectSketch"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4154,
                                    "end": 4158,
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 103,
                                        "column": 52
                                      }
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4159,
                                    "end": 4163,
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 103,
                                        "column": 57
                                      }
                                    }
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 4178,
                              "end": 4220,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 12
                                },
                                "end": {
                                  "line": 104,
                                  "column": 54
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4178,
                                "end": 4190,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 24
                                  }
                                },
                                "name": "deleteSketch"
                              },
                              "value": {
                                "type": "CallExpression",
                                "start": 4192,
                                "end": 4220,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 54
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4192,
                                  "end": 4214,
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 48
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4192,
                                    "end": 4209,
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 43
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4192,
                                      "end": 4196,
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4197,
                                      "end": 4209,
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 43
                                        }
                                      },
                                      "name": "deleteSketch"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4210,
                                    "end": 4214,
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 48
                                      }
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4215,
                                    "end": 4219,
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 53
                                      }
                                    }
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 4234,
                              "end": 4262,
                              "loc": {
                                "start": {
                                  "line": 105,
                                  "column": 12
                                },
                                "end": {
                                  "line": 105,
                                  "column": 40
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4234,
                                "end": 4239,
                                "loc": {
                                  "start": {
                                    "line": 105,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 105,
                                    "column": 17
                                  }
                                },
                                "name": "click"
                              },
                              "value": {
                                "type": "CallExpression",
                                "start": 4241,
                                "end": 4262,
                                "loc": {
                                  "start": {
                                    "line": 105,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 105,
                                    "column": 40
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4241,
                                  "end": 4256,
                                  "loc": {
                                    "start": {
                                      "line": 105,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 105,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4241,
                                    "end": 4251,
                                    "loc": {
                                      "start": {
                                        "line": 105,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 105,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4241,
                                      "end": 4245,
                                      "loc": {
                                        "start": {
                                          "line": 105,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 105,
                                          "column": 23
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4246,
                                      "end": 4251,
                                      "loc": {
                                        "start": {
                                          "line": 105,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 105,
                                          "column": 29
                                        }
                                      },
                                      "name": "click"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4252,
                                    "end": 4256,
                                    "loc": {
                                      "start": {
                                        "line": 105,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 105,
                                        "column": 34
                                      }
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4257,
                                    "end": 4261,
                                    "loc": {
                                      "start": {
                                        "line": 105,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 105,
                                        "column": 39
                                      }
                                    }
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 4276,
                              "end": 4302,
                              "loc": {
                                "start": {
                                  "line": 106,
                                  "column": 12
                                },
                                "end": {
                                  "line": 106,
                                  "column": 38
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4276,
                                "end": 4280,
                                "loc": {
                                  "start": {
                                    "line": 106,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 106,
                                    "column": 16
                                  }
                                },
                                "name": "undo"
                              },
                              "value": {
                                "type": "CallExpression",
                                "start": 4282,
                                "end": 4302,
                                "loc": {
                                  "start": {
                                    "line": 106,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 106,
                                    "column": 38
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4282,
                                  "end": 4296,
                                  "loc": {
                                    "start": {
                                      "line": 106,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 106,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4282,
                                    "end": 4291,
                                    "loc": {
                                      "start": {
                                        "line": 106,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 106,
                                        "column": 27
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4282,
                                      "end": 4286,
                                      "loc": {
                                        "start": {
                                          "line": 106,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 106,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4287,
                                      "end": 4291,
                                      "loc": {
                                        "start": {
                                          "line": 106,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 106,
                                          "column": 27
                                        }
                                      },
                                      "name": "undo"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4292,
                                    "end": 4296,
                                    "loc": {
                                      "start": {
                                        "line": 106,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 106,
                                        "column": 32
                                      }
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4297,
                                    "end": 4301,
                                    "loc": {
                                      "start": {
                                        "line": 106,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 106,
                                        "column": 37
                                      }
                                    }
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 4316,
                              "end": 4342,
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 12
                                },
                                "end": {
                                  "line": 107,
                                  "column": 38
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4316,
                                "end": 4320,
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 16
                                  }
                                },
                                "name": "redo"
                              },
                              "value": {
                                "type": "CallExpression",
                                "start": 4322,
                                "end": 4342,
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 38
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4322,
                                  "end": 4336,
                                  "loc": {
                                    "start": {
                                      "line": 107,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 107,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4322,
                                    "end": 4331,
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 27
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4322,
                                      "end": 4326,
                                      "loc": {
                                        "start": {
                                          "line": 107,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4327,
                                      "end": 4331,
                                      "loc": {
                                        "start": {
                                          "line": 107,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 27
                                        }
                                      },
                                      "name": "redo"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4332,
                                    "end": 4336,
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 32
                                      }
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4337,
                                    "end": 4341,
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 37
                                      }
                                    }
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 4356,
                              "end": 4406,
                              "loc": {
                                "start": {
                                  "line": 108,
                                  "column": 12
                                },
                                "end": {
                                  "line": 108,
                                  "column": 62
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4356,
                                "end": 4372,
                                "loc": {
                                  "start": {
                                    "line": 108,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 108,
                                    "column": 28
                                  }
                                },
                                "name": "solveConstraints"
                              },
                              "value": {
                                "type": "CallExpression",
                                "start": 4374,
                                "end": 4406,
                                "loc": {
                                  "start": {
                                    "line": 108,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 108,
                                    "column": 62
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4374,
                                  "end": 4400,
                                  "loc": {
                                    "start": {
                                      "line": 108,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 108,
                                      "column": 56
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4374,
                                    "end": 4395,
                                    "loc": {
                                      "start": {
                                        "line": 108,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 108,
                                        "column": 51
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4374,
                                      "end": 4378,
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4379,
                                      "end": 4395,
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 51
                                        }
                                      },
                                      "name": "solveConstraints"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4396,
                                    "end": 4400,
                                    "loc": {
                                      "start": {
                                        "line": 108,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 108,
                                        "column": 56
                                      }
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4401,
                                    "end": 4405,
                                    "loc": {
                                      "start": {
                                        "line": 108,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 108,
                                        "column": 61
                                      }
                                    }
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 4420,
                              "end": 4472,
                              "loc": {
                                "start": {
                                  "line": 109,
                                  "column": 12
                                },
                                "end": {
                                  "line": 109,
                                  "column": 64
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4420,
                                "end": 4437,
                                "loc": {
                                  "start": {
                                    "line": 109,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 109,
                                    "column": 29
                                  }
                                },
                                "name": "autoconstraintAll"
                              },
                              "value": {
                                "type": "CallExpression",
                                "start": 4439,
                                "end": 4472,
                                "loc": {
                                  "start": {
                                    "line": 109,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 109,
                                    "column": 64
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4439,
                                  "end": 4466,
                                  "loc": {
                                    "start": {
                                      "line": 109,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 109,
                                      "column": 58
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4439,
                                    "end": 4461,
                                    "loc": {
                                      "start": {
                                        "line": 109,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 109,
                                        "column": 53
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4439,
                                      "end": 4443,
                                      "loc": {
                                        "start": {
                                          "line": 109,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 109,
                                          "column": 35
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4444,
                                      "end": 4461,
                                      "loc": {
                                        "start": {
                                          "line": 109,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 109,
                                          "column": 53
                                        }
                                      },
                                      "name": "autoconstraintAll"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4462,
                                    "end": 4466,
                                    "loc": {
                                      "start": {
                                        "line": 109,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 109,
                                        "column": 58
                                      }
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4467,
                                    "end": 4471,
                                    "loc": {
                                      "start": {
                                        "line": 109,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 109,
                                        "column": 63
                                      }
                                    }
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 4486,
                              "end": 4736,
                              "loc": {
                                "start": {
                                  "line": 110,
                                  "column": 12
                                },
                                "end": {
                                  "line": 115,
                                  "column": 13
                                }
                              },
                              "method": true,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4486,
                                "end": 4500,
                                "loc": {
                                  "start": {
                                    "line": 110,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 110,
                                    "column": 26
                                  }
                                },
                                "name": "consoleExecute"
                              },
                              "kind": "init",
                              "value": {
                                "type": "FunctionExpression",
                                "start": 4500,
                                "end": 4736,
                                "loc": {
                                  "start": {
                                    "line": 110,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 115,
                                    "column": 13
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 4503,
                                  "end": 4736,
                                  "loc": {
                                    "start": {
                                      "line": 110,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 115,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 4521,
                                      "end": 4548,
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 43
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 4525,
                                          "end": 4547,
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 42
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 4525,
                                            "end": 4528,
                                            "loc": {
                                              "start": {
                                                "line": 111,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 111,
                                                "column": 23
                                              }
                                            },
                                            "name": "cmd"
                                          },
                                          "init": {
                                            "type": "MemberExpression",
                                            "start": 4531,
                                            "end": 4547,
                                            "loc": {
                                              "start": {
                                                "line": 111,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 111,
                                                "column": 42
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 4531,
                                              "end": 4535,
                                              "loc": {
                                                "start": {
                                                  "line": 111,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 111,
                                                  "column": 30
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 4536,
                                              "end": 4547,
                                              "loc": {
                                                "start": {
                                                  "line": 111,
                                                  "column": 31
                                                },
                                                "end": {
                                                  "line": 111,
                                                  "column": 42
                                                }
                                              },
                                              "name": "consoleText"
                                            },
                                            "computed": false
                                          }
                                        }
                                      ],
                                      "kind": "let"
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 4565,
                                      "end": 4587,
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 38
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 4565,
                                        "end": 4586,
                                        "loc": {
                                          "start": {
                                            "line": 112,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 112,
                                            "column": 37
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 4565,
                                          "end": 4581,
                                          "loc": {
                                            "start": {
                                              "line": 112,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 112,
                                              "column": 32
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 4565,
                                            "end": 4569,
                                            "loc": {
                                              "start": {
                                                "line": 112,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 112,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 4570,
                                            "end": 4581,
                                            "loc": {
                                              "start": {
                                                "line": 112,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 112,
                                                "column": 32
                                              }
                                            },
                                            "name": "consoleText"
                                          },
                                          "computed": false
                                        },
                                        "right": {
                                          "type": "Literal",
                                          "start": 4584,
                                          "end": 4586,
                                          "loc": {
                                            "start": {
                                              "line": 112,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 112,
                                              "column": 37
                                            }
                                          },
                                          "value": "",
                                          "rawValue": "",
                                          "raw": "\"\""
                                        }
                                      }
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 4604,
                                      "end": 4722,
                                      "loc": {
                                        "start": {
                                          "line": 113,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 114,
                                          "column": 80
                                        }
                                      },
                                      "test": {
                                        "type": "MemberExpression",
                                        "start": 4608,
                                        "end": 4640,
                                        "loc": {
                                          "start": {
                                            "line": 113,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 113,
                                            "column": 52
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 4608,
                                          "end": 4616,
                                          "loc": {
                                            "start": {
                                              "line": 113,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 113,
                                              "column": 28
                                            }
                                          },
                                          "name": "sketcher"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4617,
                                          "end": 4640,
                                          "loc": {
                                            "start": {
                                              "line": 113,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 113,
                                              "column": 52
                                            }
                                          },
                                          "name": "__sketchControlsHandler"
                                        },
                                        "computed": false
                                      },
                                      "consequent": {
                                        "type": "ReturnStatement",
                                        "start": 4662,
                                        "end": 4722,
                                        "loc": {
                                          "start": {
                                            "line": 114,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 114,
                                            "column": 80
                                          }
                                        },
                                        "argument": {
                                          "type": "CallExpression",
                                          "start": 4669,
                                          "end": 4721,
                                          "loc": {
                                            "start": {
                                              "line": 114,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 114,
                                              "column": 79
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 4669,
                                            "end": 4716,
                                            "loc": {
                                              "start": {
                                                "line": 114,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 114,
                                                "column": 74
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 4669,
                                              "end": 4701,
                                              "loc": {
                                                "start": {
                                                  "line": 114,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 114,
                                                  "column": 59
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 4669,
                                                "end": 4677,
                                                "loc": {
                                                  "start": {
                                                    "line": 114,
                                                    "column": 27
                                                  },
                                                  "end": {
                                                    "line": 114,
                                                    "column": 35
                                                  }
                                                },
                                                "name": "sketcher"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4678,
                                                "end": 4701,
                                                "loc": {
                                                  "start": {
                                                    "line": 114,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 114,
                                                    "column": 59
                                                  }
                                                },
                                                "name": "__sketchControlsHandler"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 4702,
                                              "end": 4716,
                                              "loc": {
                                                "start": {
                                                  "line": 114,
                                                  "column": 60
                                                },
                                                "end": {
                                                  "line": 114,
                                                  "column": 74
                                                }
                                              },
                                              "name": "consoleExecute"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 4717,
                                              "end": 4720,
                                              "loc": {
                                                "start": {
                                                  "line": 114,
                                                  "column": 75
                                                },
                                                "end": {
                                                  "line": 114,
                                                  "column": 78
                                                }
                                              },
                                              "name": "cmd"
                                            }
                                          ]
                                        }
                                      },
                                      "alternate": null
                                    }
                                  ]
                                }
                              }
                            },
                            {
                              "type": "Property",
                              "start": 4750,
                              "end": 4876,
                              "loc": {
                                "start": {
                                  "line": 116,
                                  "column": 12
                                },
                                "end": {
                                  "line": 119,
                                  "column": 13
                                }
                              },
                              "method": true,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4750,
                                "end": 4762,
                                "loc": {
                                  "start": {
                                    "line": 116,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 116,
                                    "column": 24
                                  }
                                },
                                "name": "consoleFocus"
                              },
                              "kind": "init",
                              "value": {
                                "type": "FunctionExpression",
                                "start": 4762,
                                "end": 4876,
                                "loc": {
                                  "start": {
                                    "line": 116,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 119,
                                    "column": 13
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 4765,
                                  "end": 4876,
                                  "loc": {
                                    "start": {
                                      "line": 116,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 119,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "IfStatement",
                                      "start": 4783,
                                      "end": 4862,
                                      "loc": {
                                        "start": {
                                          "line": 117,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 118,
                                          "column": 51
                                        }
                                      },
                                      "test": {
                                        "type": "MemberExpression",
                                        "start": 4787,
                                        "end": 4809,
                                        "loc": {
                                          "start": {
                                            "line": 117,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 117,
                                            "column": 42
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 4787,
                                          "end": 4794,
                                          "loc": {
                                            "start": {
                                              "line": 117,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 117,
                                              "column": 27
                                            }
                                          },
                                          "name": "options"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4795,
                                          "end": 4809,
                                          "loc": {
                                            "start": {
                                              "line": 117,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 117,
                                              "column": 42
                                            }
                                          },
                                          "name": "consoleElement"
                                        },
                                        "computed": false
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 4831,
                                        "end": 4862,
                                        "loc": {
                                          "start": {
                                            "line": 118,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 118,
                                            "column": 51
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 4831,
                                          "end": 4861,
                                          "loc": {
                                            "start": {
                                              "line": 118,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 118,
                                              "column": 50
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 4831,
                                            "end": 4859,
                                            "loc": {
                                              "start": {
                                                "line": 118,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 118,
                                                "column": 48
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 4831,
                                              "end": 4853,
                                              "loc": {
                                                "start": {
                                                  "line": 118,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 118,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 4831,
                                                "end": 4838,
                                                "loc": {
                                                  "start": {
                                                    "line": 118,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 118,
                                                    "column": 27
                                                  }
                                                },
                                                "name": "options"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4839,
                                                "end": 4853,
                                                "loc": {
                                                  "start": {
                                                    "line": 118,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 118,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "consoleElement"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 4854,
                                              "end": 4859,
                                              "loc": {
                                                "start": {
                                                  "line": 118,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 118,
                                                  "column": 48
                                                }
                                              },
                                              "name": "focus"
                                            },
                                            "computed": false
                                          },
                                          "arguments": []
                                        }
                                      },
                                      "alternate": null
                                    }
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " recognized options: view, [consoleElement]",
                  "start": 1127,
                  "end": 1172,
                  "loc": {
                    "start": {
                      "line": 37,
                      "column": 4
                    },
                    "end": {
                      "line": 37,
                      "column": 49
                    }
                  },
                  "range": [
                    1127,
                    1172
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 4900,
              "end": 4948,
              "loc": {
                "start": {
                  "line": 123,
                  "column": 4
                },
                "end": {
                  "line": 125,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4904,
                "end": 4910,
                "loc": {
                  "start": {
                    "line": 123,
                    "column": 8
                  },
                  "end": {
                    "line": 123,
                    "column": 14
                  }
                },
                "name": "server"
              },
              "static": false,
              "kind": "get",
              "value": {
                "type": "FunctionExpression",
                "start": 4910,
                "end": 4948,
                "loc": {
                  "start": {
                    "line": 123,
                    "column": 14
                  },
                  "end": {
                    "line": 125,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 4913,
                  "end": 4948,
                  "loc": {
                    "start": {
                      "line": 123,
                      "column": 17
                    },
                    "end": {
                      "line": 125,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 4923,
                      "end": 4942,
                      "loc": {
                        "start": {
                          "line": 124,
                          "column": 8
                        },
                        "end": {
                          "line": 124,
                          "column": 27
                        }
                      },
                      "argument": {
                        "type": "MemberExpression",
                        "start": 4930,
                        "end": 4941,
                        "loc": {
                          "start": {
                            "line": 124,
                            "column": 15
                          },
                          "end": {
                            "line": 124,
                            "column": 26
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 4930,
                          "end": 4934,
                          "loc": {
                            "start": {
                              "line": 124,
                              "column": 15
                            },
                            "end": {
                              "line": 124,
                              "column": 19
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 4935,
                          "end": 4941,
                          "loc": {
                            "start": {
                              "line": 124,
                              "column": 20
                            },
                            "end": {
                              "line": 124,
                              "column": 26
                            }
                          },
                          "name": "socket"
                        },
                        "computed": false
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 4954,
              "end": 5008,
              "loc": {
                "start": {
                  "line": 127,
                  "column": 4
                },
                "end": {
                  "line": 129,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4958,
                "end": 4964,
                "loc": {
                  "start": {
                    "line": 127,
                    "column": 8
                  },
                  "end": {
                    "line": 127,
                    "column": 14
                  }
                },
                "name": "server"
              },
              "static": false,
              "kind": "set",
              "value": {
                "type": "FunctionExpression",
                "start": 4964,
                "end": 5008,
                "loc": {
                  "start": {
                    "line": 127,
                    "column": 14
                  },
                  "end": {
                    "line": 129,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 4965,
                    "end": 4970,
                    "loc": {
                      "start": {
                        "line": 127,
                        "column": 15
                      },
                      "end": {
                        "line": 127,
                        "column": 20
                      }
                    },
                    "name": "value"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 4972,
                  "end": 5008,
                  "loc": {
                    "start": {
                      "line": 127,
                      "column": 22
                    },
                    "end": {
                      "line": 129,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 4982,
                      "end": 5002,
                      "loc": {
                        "start": {
                          "line": 128,
                          "column": 8
                        },
                        "end": {
                          "line": 128,
                          "column": 28
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4982,
                        "end": 5001,
                        "loc": {
                          "start": {
                            "line": 128,
                            "column": 8
                          },
                          "end": {
                            "line": 128,
                            "column": 27
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4982,
                          "end": 4993,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 8
                            },
                            "end": {
                              "line": 128,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4982,
                            "end": 4986,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 8
                              },
                              "end": {
                                "line": 128,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4987,
                            "end": 4993,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 13
                              },
                              "end": {
                                "line": 128,
                                "column": 19
                              }
                            },
                            "name": "socket"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 4996,
                          "end": 5001,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 22
                            },
                            "end": {
                              "line": 128,
                              "column": 27
                            }
                          },
                          "name": "value"
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5014,
              "end": 5071,
              "loc": {
                "start": {
                  "line": 131,
                  "column": 4
                },
                "end": {
                  "line": 133,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5014,
                "end": 5021,
                "loc": {
                  "start": {
                    "line": 131,
                    "column": 4
                  },
                  "end": {
                    "line": 131,
                    "column": 11
                  }
                },
                "name": "refresh"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5021,
                "end": 5071,
                "loc": {
                  "start": {
                    "line": 131,
                    "column": 11
                  },
                  "end": {
                    "line": 133,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 5024,
                  "end": 5071,
                  "loc": {
                    "start": {
                      "line": 131,
                      "column": 14
                    },
                    "end": {
                      "line": 133,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5034,
                      "end": 5065,
                      "loc": {
                        "start": {
                          "line": 132,
                          "column": 8
                        },
                        "end": {
                          "line": 132,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5034,
                        "end": 5064,
                        "loc": {
                          "start": {
                            "line": 132,
                            "column": 8
                          },
                          "end": {
                            "line": 132,
                            "column": 38
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5034,
                          "end": 5062,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 8
                            },
                            "end": {
                              "line": 132,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5034,
                            "end": 5051,
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 8
                              },
                              "end": {
                                "line": 132,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5034,
                              "end": 5038,
                              "loc": {
                                "start": {
                                  "line": 132,
                                  "column": 8
                                },
                                "end": {
                                  "line": 132,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5039,
                              "end": 5051,
                              "loc": {
                                "start": {
                                  "line": 132,
                                  "column": 13
                                },
                                "end": {
                                  "line": 132,
                                  "column": 25
                                }
                              },
                              "name": "__parentView"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5052,
                            "end": 5062,
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 26
                              },
                              "end": {
                                "line": 132,
                                "column": 36
                              }
                            },
                            "name": "invalidate"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "always called when someone clicks on a sketch's area",
                  "start": 5077,
                  "end": 5131,
                  "loc": {
                    "start": {
                      "line": 135,
                      "column": 4
                    },
                    "end": {
                      "line": 135,
                      "column": 58
                    }
                  },
                  "range": [
                    5077,
                    5131
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 5136,
              "end": 5487,
              "loc": {
                "start": {
                  "line": 136,
                  "column": 4
                },
                "end": {
                  "line": 146,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5142,
                "end": 5159,
                "loc": {
                  "start": {
                    "line": 136,
                    "column": 10
                  },
                  "end": {
                    "line": 136,
                    "column": 27
                  }
                },
                "name": "sketchAreaClicked"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5159,
                "end": 5487,
                "loc": {
                  "start": {
                    "line": 136,
                    "column": 27
                  },
                  "end": {
                    "line": 146,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5160,
                    "end": 5166,
                    "loc": {
                      "start": {
                        "line": 136,
                        "column": 28
                      },
                      "end": {
                        "line": 136,
                        "column": 34
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5168,
                  "end": 5487,
                  "loc": {
                    "start": {
                      "line": 136,
                      "column": 36
                    },
                    "end": {
                      "line": 146,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 5225,
                      "end": 5396,
                      "loc": {
                        "start": {
                          "line": 138,
                          "column": 8
                        },
                        "end": {
                          "line": 142,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 5229,
                        "end": 5258,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 12
                          },
                          "end": {
                            "line": 138,
                            "column": 41
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 5229,
                          "end": 5247,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 12
                            },
                            "end": {
                              "line": 138,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5229,
                            "end": 5233,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 12
                              },
                              "end": {
                                "line": 138,
                                "column": 16
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5234,
                            "end": 5247,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 17
                              },
                              "end": {
                                "line": 138,
                                "column": 30
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "operator": "!==",
                        "right": {
                          "type": "Identifier",
                          "start": 5252,
                          "end": 5258,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 35
                            },
                            "end": {
                              "line": 138,
                              "column": 41
                            }
                          },
                          "name": "sketch"
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 5260,
                        "end": 5396,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 43
                          },
                          "end": {
                            "line": 142,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 5334,
                            "end": 5366,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 12
                              },
                              "end": {
                                "line": 140,
                                "column": 44
                              }
                            },
                            "expression": {
                              "type": "AwaitExpression",
                              "start": 5334,
                              "end": 5365,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 12
                                },
                                "end": {
                                  "line": 140,
                                  "column": 43
                                }
                              },
                              "all": false,
                              "argument": {
                                "type": "CallExpression",
                                "start": 5340,
                                "end": 5365,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 43
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 5340,
                                  "end": 5357,
                                  "loc": {
                                    "start": {
                                      "line": 140,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 140,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 5340,
                                    "end": 5344,
                                    "loc": {
                                      "start": {
                                        "line": 140,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 140,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5345,
                                    "end": 5357,
                                    "loc": {
                                      "start": {
                                        "line": 140,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 140,
                                        "column": 35
                                      }
                                    },
                                    "name": "selectSketch"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 5358,
                                    "end": 5364,
                                    "loc": {
                                      "start": {
                                        "line": 140,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 140,
                                        "column": 42
                                      }
                                    },
                                    "name": "sketch"
                                  }
                                ]
                              },
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " none or other selected -> select clicked one",
                                "start": 5274,
                                "end": 5321,
                                "loc": {
                                  "start": {
                                    "line": 139,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 139,
                                    "column": 59
                                  }
                                },
                                "range": [
                                  5274,
                                  5321
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 5379,
                            "end": 5386,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 12
                              },
                              "end": {
                                "line": 141,
                                "column": 19
                              }
                            },
                            "argument": null
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " handle sketch selection/unselection",
                          "start": 5178,
                          "end": 5216,
                          "loc": {
                            "start": {
                              "line": 137,
                              "column": 8
                            },
                            "end": {
                              "line": 137,
                              "column": 46
                            }
                          },
                          "range": [
                            5178,
                            5216
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " call whatever controls handler is active now",
                          "start": 5406,
                          "end": 5453,
                          "loc": {
                            "start": {
                              "line": 144,
                              "column": 8
                            },
                            "end": {
                              "line": 144,
                              "column": 55
                            }
                          },
                          "range": [
                            5406,
                            5453
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5462,
                      "end": 5481,
                      "loc": {
                        "start": {
                          "line": 145,
                          "column": 8
                        },
                        "end": {
                          "line": 145,
                          "column": 27
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 5462,
                        "end": 5480,
                        "loc": {
                          "start": {
                            "line": 145,
                            "column": 8
                          },
                          "end": {
                            "line": 145,
                            "column": 26
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 5468,
                          "end": 5480,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 14
                            },
                            "end": {
                              "line": 145,
                              "column": 26
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5468,
                            "end": 5478,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 14
                              },
                              "end": {
                                "line": 145,
                                "column": 24
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5468,
                              "end": 5472,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 14
                                },
                                "end": {
                                  "line": 145,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5473,
                              "end": 5478,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 19
                                },
                                "end": {
                                  "line": 145,
                                  "column": 24
                                }
                              },
                              "name": "click"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " call whatever controls handler is active now",
                          "start": 5406,
                          "end": 5453,
                          "loc": {
                            "start": {
                              "line": 144,
                              "column": 8
                            },
                            "end": {
                              "line": 144,
                              "column": 55
                            }
                          },
                          "range": [
                            5406,
                            5453
                          ]
                        }
                      ]
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "always called when someone clicks on a sketch's area",
                  "start": 5077,
                  "end": 5131,
                  "loc": {
                    "start": {
                      "line": 135,
                      "column": 4
                    },
                    "end": {
                      "line": 135,
                      "column": 58
                    }
                  },
                  "range": [
                    5077,
                    5131
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 5493,
              "end": 6188,
              "loc": {
                "start": {
                  "line": 148,
                  "column": 4
                },
                "end": {
                  "line": 161,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5499,
                "end": 5521,
                "loc": {
                  "start": {
                    "line": 148,
                    "column": 10
                  },
                  "end": {
                    "line": 148,
                    "column": 32
                  }
                },
                "name": "sketchAreaRightClicked"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5521,
                "end": 6188,
                "loc": {
                  "start": {
                    "line": 148,
                    "column": 32
                  },
                  "end": {
                    "line": 161,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5522,
                    "end": 5528,
                    "loc": {
                      "start": {
                        "line": 148,
                        "column": 33
                      },
                      "end": {
                        "line": 148,
                        "column": 39
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5530,
                  "end": 6188,
                  "loc": {
                    "start": {
                      "line": 148,
                      "column": 41
                    },
                    "end": {
                      "line": 161,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 5591,
                      "end": 5645,
                      "loc": {
                        "start": {
                          "line": 150,
                          "column": 8
                        },
                        "end": {
                          "line": 151,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 5595,
                        "end": 5624,
                        "loc": {
                          "start": {
                            "line": 150,
                            "column": 12
                          },
                          "end": {
                            "line": 150,
                            "column": 41
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 5595,
                          "end": 5601,
                          "loc": {
                            "start": {
                              "line": 150,
                              "column": 12
                            },
                            "end": {
                              "line": 150,
                              "column": 18
                            }
                          },
                          "name": "sketch",
                          "leadingComments": null
                        },
                        "operator": "!==",
                        "right": {
                          "type": "MemberExpression",
                          "start": 5606,
                          "end": 5624,
                          "loc": {
                            "start": {
                              "line": 150,
                              "column": 23
                            },
                            "end": {
                              "line": 150,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5606,
                            "end": 5610,
                            "loc": {
                              "start": {
                                "line": 150,
                                "column": 23
                              },
                              "end": {
                                "line": 150,
                                "column": 27
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5611,
                            "end": 5624,
                            "loc": {
                              "start": {
                                "line": 150,
                                "column": 28
                              },
                              "end": {
                                "line": 150,
                                "column": 41
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 5638,
                        "end": 5645,
                        "loc": {
                          "start": {
                            "line": 151,
                            "column": 12
                          },
                          "end": {
                            "line": 151,
                            "column": 19
                          }
                        },
                        "argument": null,
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " ignore right click on unselected sketch",
                          "start": 5540,
                          "end": 5582,
                          "loc": {
                            "start": {
                              "line": 149,
                              "column": 8
                            },
                            "end": {
                              "line": 149,
                              "column": 50
                            }
                          },
                          "range": [
                            5540,
                            5582
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " if any tool is selected, deselect it, otherwise deselect sketch",
                          "start": 5655,
                          "end": 5721,
                          "loc": {
                            "start": {
                              "line": 153,
                              "column": 8
                            },
                            "end": {
                              "line": 153,
                              "column": 74
                            }
                          },
                          "range": [
                            5655,
                            5721
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " FIXME prototype checking is bad, but changing __sketchControlsHandler",
                          "start": 5730,
                          "end": 5802,
                          "loc": {
                            "start": {
                              "line": 154,
                              "column": 8
                            },
                            "end": {
                              "line": 154,
                              "column": 80
                            }
                          },
                          "range": [
                            5730,
                            5802
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " or deselecting sketch from handler is no better. Think of a good solution.",
                          "start": 5811,
                          "end": 5888,
                          "loc": {
                            "start": {
                              "line": 155,
                              "column": 8
                            },
                            "end": {
                              "line": 155,
                              "column": 85
                            }
                          },
                          "range": [
                            5811,
                            5888
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 5897,
                      "end": 5971,
                      "loc": {
                        "start": {
                          "line": 156,
                          "column": 8
                        },
                        "end": {
                          "line": 156,
                          "column": 82
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 5901,
                          "end": 5970,
                          "loc": {
                            "start": {
                              "line": 156,
                              "column": 12
                            },
                            "end": {
                              "line": 156,
                              "column": 81
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 5901,
                            "end": 5916,
                            "loc": {
                              "start": {
                                "line": 156,
                                "column": 12
                              },
                              "end": {
                                "line": 156,
                                "column": 27
                              }
                            },
                            "name": "prototypeBefore",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 5919,
                            "end": 5970,
                            "loc": {
                              "start": {
                                "line": 156,
                                "column": 30
                              },
                              "end": {
                                "line": 156,
                                "column": 81
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 5919,
                              "end": 5940,
                              "loc": {
                                "start": {
                                  "line": 156,
                                  "column": 30
                                },
                                "end": {
                                  "line": 156,
                                  "column": 51
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5919,
                                "end": 5925,
                                "loc": {
                                  "start": {
                                    "line": 156,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 156,
                                    "column": 36
                                  }
                                },
                                "name": "Object"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5926,
                                "end": 5940,
                                "loc": {
                                  "start": {
                                    "line": 156,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 156,
                                    "column": 51
                                  }
                                },
                                "name": "getPrototypeOf"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 5941,
                                "end": 5969,
                                "loc": {
                                  "start": {
                                    "line": 156,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 156,
                                    "column": 80
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 5941,
                                  "end": 5945,
                                  "loc": {
                                    "start": {
                                      "line": 156,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 156,
                                      "column": 56
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5946,
                                  "end": 5969,
                                  "loc": {
                                    "start": {
                                      "line": 156,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 156,
                                      "column": 80
                                    }
                                  },
                                  "name": "__sketchControlsHandler"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " if any tool is selected, deselect it, otherwise deselect sketch",
                          "start": 5655,
                          "end": 5721,
                          "loc": {
                            "start": {
                              "line": 153,
                              "column": 8
                            },
                            "end": {
                              "line": 153,
                              "column": 74
                            }
                          },
                          "range": [
                            5655,
                            5721
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " FIXME prototype checking is bad, but changing __sketchControlsHandler",
                          "start": 5730,
                          "end": 5802,
                          "loc": {
                            "start": {
                              "line": 154,
                              "column": 8
                            },
                            "end": {
                              "line": 154,
                              "column": 80
                            }
                          },
                          "range": [
                            5730,
                            5802
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " or deselecting sketch from handler is no better. Think of a good solution.",
                          "start": 5811,
                          "end": 5888,
                          "loc": {
                            "start": {
                              "line": 155,
                              "column": 8
                            },
                            "end": {
                              "line": 155,
                              "column": 85
                            }
                          },
                          "range": [
                            5811,
                            5888
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5980,
                      "end": 6011,
                      "loc": {
                        "start": {
                          "line": 157,
                          "column": 8
                        },
                        "end": {
                          "line": 157,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 5980,
                        "end": 6010,
                        "loc": {
                          "start": {
                            "line": 157,
                            "column": 8
                          },
                          "end": {
                            "line": 157,
                            "column": 38
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 5986,
                          "end": 6010,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 14
                            },
                            "end": {
                              "line": 157,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5986,
                            "end": 6001,
                            "loc": {
                              "start": {
                                "line": 157,
                                "column": 14
                              },
                              "end": {
                                "line": 157,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5986,
                              "end": 5990,
                              "loc": {
                                "start": {
                                  "line": 157,
                                  "column": 14
                                },
                                "end": {
                                  "line": 157,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5991,
                              "end": 6001,
                              "loc": {
                                "start": {
                                  "line": 157,
                                  "column": 19
                                },
                                "end": {
                                  "line": 157,
                                  "column": 29
                                }
                              },
                              "name": "chooseTool"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 6002,
                              "end": 6009,
                              "loc": {
                                "start": {
                                  "line": 157,
                                  "column": 30
                                },
                                "end": {
                                  "line": 157,
                                  "column": 37
                                }
                              },
                              "value": "empty",
                              "rawValue": "empty",
                              "raw": "'empty'"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 6020,
                      "end": 6093,
                      "loc": {
                        "start": {
                          "line": 158,
                          "column": 8
                        },
                        "end": {
                          "line": 158,
                          "column": 81
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 6024,
                          "end": 6092,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 12
                            },
                            "end": {
                              "line": 158,
                              "column": 80
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 6024,
                            "end": 6038,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 12
                              },
                              "end": {
                                "line": 158,
                                "column": 26
                              }
                            },
                            "name": "prototypeAfter"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 6041,
                            "end": 6092,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 29
                              },
                              "end": {
                                "line": 158,
                                "column": 80
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6041,
                              "end": 6062,
                              "loc": {
                                "start": {
                                  "line": 158,
                                  "column": 29
                                },
                                "end": {
                                  "line": 158,
                                  "column": 50
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6041,
                                "end": 6047,
                                "loc": {
                                  "start": {
                                    "line": 158,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 158,
                                    "column": 35
                                  }
                                },
                                "name": "Object"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6048,
                                "end": 6062,
                                "loc": {
                                  "start": {
                                    "line": 158,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 158,
                                    "column": 50
                                  }
                                },
                                "name": "getPrototypeOf"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 6063,
                                "end": 6091,
                                "loc": {
                                  "start": {
                                    "line": 158,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 158,
                                    "column": 79
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 6063,
                                  "end": 6067,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 55
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6068,
                                  "end": 6091,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 79
                                    }
                                  },
                                  "name": "__sketchControlsHandler"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 6102,
                      "end": 6182,
                      "loc": {
                        "start": {
                          "line": 159,
                          "column": 8
                        },
                        "end": {
                          "line": 160,
                          "column": 40
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 6106,
                        "end": 6140,
                        "loc": {
                          "start": {
                            "line": 159,
                            "column": 12
                          },
                          "end": {
                            "line": 159,
                            "column": 46
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 6106,
                          "end": 6121,
                          "loc": {
                            "start": {
                              "line": 159,
                              "column": 12
                            },
                            "end": {
                              "line": 159,
                              "column": 27
                            }
                          },
                          "name": "prototypeBefore"
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 6126,
                          "end": 6140,
                          "loc": {
                            "start": {
                              "line": 159,
                              "column": 32
                            },
                            "end": {
                              "line": 159,
                              "column": 46
                            }
                          },
                          "name": "prototypeAfter"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 6154,
                        "end": 6182,
                        "loc": {
                          "start": {
                            "line": 160,
                            "column": 12
                          },
                          "end": {
                            "line": 160,
                            "column": 40
                          }
                        },
                        "expression": {
                          "type": "AwaitExpression",
                          "start": 6154,
                          "end": 6181,
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 12
                            },
                            "end": {
                              "line": 160,
                              "column": 39
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 6160,
                            "end": 6181,
                            "loc": {
                              "start": {
                                "line": 160,
                                "column": 18
                              },
                              "end": {
                                "line": 160,
                                "column": 39
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6160,
                              "end": 6179,
                              "loc": {
                                "start": {
                                  "line": 160,
                                  "column": 18
                                },
                                "end": {
                                  "line": 160,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 6160,
                                "end": 6164,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 22
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6165,
                                "end": 6179,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 37
                                  }
                                },
                                "name": "deselectSketch"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 6194,
              "end": 7692,
              "loc": {
                "start": {
                  "line": 163,
                  "column": 4
                },
                "end": {
                  "line": 205,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6194,
                "end": 6209,
                "loc": {
                  "start": {
                    "line": 163,
                    "column": 4
                  },
                  "end": {
                    "line": 163,
                    "column": 19
                  }
                },
                "name": "setActionCursor"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 6209,
                "end": 7692,
                "loc": {
                  "start": {
                    "line": 163,
                    "column": 19
                  },
                  "end": {
                    "line": 205,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 6210,
                    "end": 6216,
                    "loc": {
                      "start": {
                        "line": 163,
                        "column": 20
                      },
                      "end": {
                        "line": 163,
                        "column": 26
                      }
                    },
                    "name": "action"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 6218,
                  "end": 7692,
                  "loc": {
                    "start": {
                      "line": 163,
                      "column": 28
                    },
                    "end": {
                      "line": 205,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 6228,
                      "end": 7324,
                      "loc": {
                        "start": {
                          "line": 164,
                          "column": 8
                        },
                        "end": {
                          "line": 193,
                          "column": 11
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 6232,
                          "end": 7323,
                          "loc": {
                            "start": {
                              "line": 164,
                              "column": 12
                            },
                            "end": {
                              "line": 193,
                              "column": 10
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 6232,
                            "end": 6242,
                            "loc": {
                              "start": {
                                "line": 164,
                                "column": 12
                              },
                              "end": {
                                "line": 164,
                                "column": 22
                              }
                            },
                            "name": "cursorsURL"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 6245,
                            "end": 7323,
                            "loc": {
                              "start": {
                                "line": 164,
                                "column": 25
                              },
                              "end": {
                                "line": 193,
                                "column": 10
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 6249,
                              "end": 6252,
                              "loc": {
                                "start": {
                                  "line": 164,
                                  "column": 29
                                },
                                "end": {
                                  "line": 164,
                                  "column": 32
                                }
                              },
                              "name": "Map"
                            },
                            "arguments": [
                              {
                                "type": "ArrayExpression",
                                "start": 6254,
                                "end": 7322,
                                "loc": {
                                  "start": {
                                    "line": 164,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 193,
                                    "column": 9
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6268,
                                    "end": 6288,
                                    "loc": {
                                      "start": {
                                        "line": 165,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 165,
                                        "column": 32
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6269,
                                        "end": 6276,
                                        "loc": {
                                          "start": {
                                            "line": 165,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 165,
                                            "column": 20
                                          }
                                        },
                                        "value": "empty",
                                        "rawValue": "empty",
                                        "raw": "'empty'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6278,
                                        "end": 6287,
                                        "loc": {
                                          "start": {
                                            "line": 165,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 165,
                                            "column": 31
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6302,
                                    "end": 6323,
                                    "loc": {
                                      "start": {
                                        "line": 166,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 166,
                                        "column": 33
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6303,
                                        "end": 6311,
                                        "loc": {
                                          "start": {
                                            "line": 166,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 166,
                                            "column": 21
                                          }
                                        },
                                        "value": "delete",
                                        "rawValue": "delete",
                                        "raw": "'delete'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6313,
                                        "end": 6322,
                                        "loc": {
                                          "start": {
                                            "line": 166,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 166,
                                            "column": 32
                                          }
                                        },
                                        "value": "no-drop",
                                        "rawValue": "no-drop",
                                        "raw": "'no-drop'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6361,
                                    "end": 6383,
                                    "loc": {
                                      "start": {
                                        "line": 168,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 168,
                                        "column": 34
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6362,
                                        "end": 6369,
                                        "loc": {
                                          "start": {
                                            "line": 168,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 168,
                                            "column": 20
                                          }
                                        },
                                        "value": "point",
                                        "rawValue": "point",
                                        "raw": "'point'",
                                        "leadingComments": null
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6371,
                                        "end": 6382,
                                        "loc": {
                                          "start": {
                                            "line": 168,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 168,
                                            "column": 33
                                          }
                                        },
                                        "value": "crosshair",
                                        "rawValue": "crosshair",
                                        "raw": "'crosshair'"
                                      }
                                    ],
                                    "leadingComments": [
                                      {
                                        "type": "CommentLine",
                                        "value": " geometry",
                                        "start": 6337,
                                        "end": 6348,
                                        "loc": {
                                          "start": {
                                            "line": 167,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 167,
                                            "column": 23
                                          }
                                        },
                                        "range": [
                                          6337,
                                          6348
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6397,
                                    "end": 6418,
                                    "loc": {
                                      "start": {
                                        "line": 169,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 169,
                                        "column": 33
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6398,
                                        "end": 6404,
                                        "loc": {
                                          "start": {
                                            "line": 169,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 169,
                                            "column": 19
                                          }
                                        },
                                        "value": "line",
                                        "rawValue": "line",
                                        "raw": "'line'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6406,
                                        "end": 6417,
                                        "loc": {
                                          "start": {
                                            "line": 169,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 169,
                                            "column": 32
                                          }
                                        },
                                        "value": "crosshair",
                                        "rawValue": "crosshair",
                                        "raw": "'crosshair'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6432,
                                    "end": 6452,
                                    "loc": {
                                      "start": {
                                        "line": 170,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 170,
                                        "column": 32
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6433,
                                        "end": 6438,
                                        "loc": {
                                          "start": {
                                            "line": 170,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 170,
                                            "column": 18
                                          }
                                        },
                                        "value": "arc",
                                        "rawValue": "arc",
                                        "raw": "'arc'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6440,
                                        "end": 6451,
                                        "loc": {
                                          "start": {
                                            "line": 170,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 170,
                                            "column": 31
                                          }
                                        },
                                        "value": "crosshair",
                                        "rawValue": "crosshair",
                                        "raw": "'crosshair'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6466,
                                    "end": 6491,
                                    "loc": {
                                      "start": {
                                        "line": 171,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 171,
                                        "column": 37
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6467,
                                        "end": 6477,
                                        "loc": {
                                          "start": {
                                            "line": 171,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 171,
                                            "column": 23
                                          }
                                        },
                                        "value": "polyline",
                                        "rawValue": "polyline",
                                        "raw": "'polyline'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6479,
                                        "end": 6490,
                                        "loc": {
                                          "start": {
                                            "line": 171,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 171,
                                            "column": 36
                                          }
                                        },
                                        "value": "crosshair",
                                        "rawValue": "crosshair",
                                        "raw": "'crosshair'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6532,
                                    "end": 6555,
                                    "loc": {
                                      "start": {
                                        "line": 173,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 173,
                                        "column": 35
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6533,
                                        "end": 6543,
                                        "loc": {
                                          "start": {
                                            "line": 173,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 173,
                                            "column": 23
                                          }
                                        },
                                        "value": "fixation",
                                        "rawValue": "fixation",
                                        "raw": "'fixation'",
                                        "leadingComments": null
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6545,
                                        "end": 6554,
                                        "loc": {
                                          "start": {
                                            "line": 173,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 173,
                                            "column": 34
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ],
                                    "leadingComments": [
                                      {
                                        "type": "CommentLine",
                                        "value": " constraints",
                                        "start": 6505,
                                        "end": 6519,
                                        "loc": {
                                          "start": {
                                            "line": 172,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 172,
                                            "column": 26
                                          }
                                        },
                                        "range": [
                                          6505,
                                          6519
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6569,
                                    "end": 6593,
                                    "loc": {
                                      "start": {
                                        "line": 174,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 174,
                                        "column": 36
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6570,
                                        "end": 6581,
                                        "loc": {
                                          "start": {
                                            "line": 174,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 174,
                                            "column": 24
                                          }
                                        },
                                        "value": "incidence",
                                        "rawValue": "incidence",
                                        "raw": "'incidence'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6583,
                                        "end": 6592,
                                        "loc": {
                                          "start": {
                                            "line": 174,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 174,
                                            "column": 35
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6607,
                                    "end": 6630,
                                    "loc": {
                                      "start": {
                                        "line": 175,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 175,
                                        "column": 35
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6608,
                                        "end": 6618,
                                        "loc": {
                                          "start": {
                                            "line": 175,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 175,
                                            "column": 23
                                          }
                                        },
                                        "value": "distance",
                                        "rawValue": "distance",
                                        "raw": "'distance'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6620,
                                        "end": 6629,
                                        "loc": {
                                          "start": {
                                            "line": 175,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 175,
                                            "column": 34
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6644,
                                    "end": 6664,
                                    "loc": {
                                      "start": {
                                        "line": 176,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 176,
                                        "column": 32
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6645,
                                        "end": 6652,
                                        "loc": {
                                          "start": {
                                            "line": 176,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 176,
                                            "column": 20
                                          }
                                        },
                                        "value": "angle",
                                        "rawValue": "angle",
                                        "raw": "'angle'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6654,
                                        "end": 6663,
                                        "loc": {
                                          "start": {
                                            "line": 176,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 176,
                                            "column": 31
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6678,
                                    "end": 6700,
                                    "loc": {
                                      "start": {
                                        "line": 177,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 177,
                                        "column": 34
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6679,
                                        "end": 6688,
                                        "loc": {
                                          "start": {
                                            "line": 177,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 177,
                                            "column": 22
                                          }
                                        },
                                        "value": "angleOX",
                                        "rawValue": "angleOX",
                                        "raw": "'angleOX'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6690,
                                        "end": 6699,
                                        "loc": {
                                          "start": {
                                            "line": 177,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 177,
                                            "column": 33
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6714,
                                    "end": 6737,
                                    "loc": {
                                      "start": {
                                        "line": 178,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 178,
                                        "column": 35
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6715,
                                        "end": 6725,
                                        "loc": {
                                          "start": {
                                            "line": 178,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 178,
                                            "column": 23
                                          }
                                        },
                                        "value": "tangency",
                                        "rawValue": "tangency",
                                        "raw": "'tangency'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6727,
                                        "end": 6736,
                                        "loc": {
                                          "start": {
                                            "line": 178,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 178,
                                            "column": 34
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6751,
                                    "end": 6779,
                                    "loc": {
                                      "start": {
                                        "line": 179,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 179,
                                        "column": 40
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6752,
                                        "end": 6767,
                                        "loc": {
                                          "start": {
                                            "line": 179,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 179,
                                            "column": 28
                                          }
                                        },
                                        "value": "horizontality",
                                        "rawValue": "horizontality",
                                        "raw": "'horizontality'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6769,
                                        "end": 6778,
                                        "loc": {
                                          "start": {
                                            "line": 179,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 179,
                                            "column": 39
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6793,
                                    "end": 6819,
                                    "loc": {
                                      "start": {
                                        "line": 180,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 180,
                                        "column": 38
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6794,
                                        "end": 6807,
                                        "loc": {
                                          "start": {
                                            "line": 180,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 180,
                                            "column": 26
                                          }
                                        },
                                        "value": "verticality",
                                        "rawValue": "verticality",
                                        "raw": "'verticality'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6809,
                                        "end": 6818,
                                        "loc": {
                                          "start": {
                                            "line": 180,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 180,
                                            "column": 37
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6833,
                                    "end": 6864,
                                    "loc": {
                                      "start": {
                                        "line": 181,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 181,
                                        "column": 43
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6834,
                                        "end": 6852,
                                        "loc": {
                                          "start": {
                                            "line": 181,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 181,
                                            "column": 31
                                          }
                                        },
                                        "value": "perpendicularity",
                                        "rawValue": "perpendicularity",
                                        "raw": "'perpendicularity'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6854,
                                        "end": 6863,
                                        "loc": {
                                          "start": {
                                            "line": 181,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 181,
                                            "column": 42
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6878,
                                    "end": 6904,
                                    "loc": {
                                      "start": {
                                        "line": 182,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 182,
                                        "column": 38
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6879,
                                        "end": 6892,
                                        "loc": {
                                          "start": {
                                            "line": 182,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 182,
                                            "column": 26
                                          }
                                        },
                                        "value": "parallelity",
                                        "rawValue": "parallelity",
                                        "raw": "'parallelity'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6894,
                                        "end": 6903,
                                        "loc": {
                                          "start": {
                                            "line": 182,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 182,
                                            "column": 37
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6918,
                                    "end": 6943,
                                    "loc": {
                                      "start": {
                                        "line": 183,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 183,
                                        "column": 37
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6919,
                                        "end": 6931,
                                        "loc": {
                                          "start": {
                                            "line": 183,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 183,
                                            "column": 25
                                          }
                                        },
                                        "value": "concentric",
                                        "rawValue": "concentric",
                                        "raw": "'concentric'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6933,
                                        "end": 6942,
                                        "loc": {
                                          "start": {
                                            "line": 183,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 183,
                                            "column": 36
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6957,
                                    "end": 6980,
                                    "loc": {
                                      "start": {
                                        "line": 184,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 184,
                                        "column": 35
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6958,
                                        "end": 6968,
                                        "loc": {
                                          "start": {
                                            "line": 184,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 184,
                                            "column": 23
                                          }
                                        },
                                        "value": "midpoint",
                                        "rawValue": "midpoint",
                                        "raw": "'midpoint'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 6970,
                                        "end": 6979,
                                        "loc": {
                                          "start": {
                                            "line": 184,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 184,
                                            "column": 34
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 6994,
                                    "end": 7018,
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 36
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 6995,
                                        "end": 7006,
                                        "loc": {
                                          "start": {
                                            "line": 185,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 185,
                                            "column": 24
                                          }
                                        },
                                        "value": "symmetric",
                                        "rawValue": "symmetric",
                                        "raw": "'symmetric'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7008,
                                        "end": 7017,
                                        "loc": {
                                          "start": {
                                            "line": 185,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 185,
                                            "column": 35
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7032,
                                    "end": 7055,
                                    "loc": {
                                      "start": {
                                        "line": 186,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 186,
                                        "column": 35
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7033,
                                        "end": 7043,
                                        "loc": {
                                          "start": {
                                            "line": 186,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 186,
                                            "column": 23
                                          }
                                        },
                                        "value": "colinear",
                                        "rawValue": "colinear",
                                        "raw": "'colinear'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7045,
                                        "end": 7054,
                                        "loc": {
                                          "start": {
                                            "line": 186,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 186,
                                            "column": 34
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7069,
                                    "end": 7098,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 41
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7070,
                                        "end": 7086,
                                        "loc": {
                                          "start": {
                                            "line": 187,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 187,
                                            "column": 29
                                          }
                                        },
                                        "value": "equal_distance",
                                        "rawValue": "equal_distance",
                                        "raw": "'equal_distance'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7088,
                                        "end": 7097,
                                        "loc": {
                                          "start": {
                                            "line": 187,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 187,
                                            "column": 40
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7112,
                                    "end": 7133,
                                    "loc": {
                                      "start": {
                                        "line": 188,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 188,
                                        "column": 33
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7113,
                                        "end": 7121,
                                        "loc": {
                                          "start": {
                                            "line": 188,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 188,
                                            "column": 21
                                          }
                                        },
                                        "value": "radius",
                                        "rawValue": "radius",
                                        "raw": "'radius'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7123,
                                        "end": 7132,
                                        "loc": {
                                          "start": {
                                            "line": 188,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 188,
                                            "column": 32
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7147,
                                    "end": 7174,
                                    "loc": {
                                      "start": {
                                        "line": 189,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 189,
                                        "column": 39
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7148,
                                        "end": 7162,
                                        "loc": {
                                          "start": {
                                            "line": 189,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 189,
                                            "column": 27
                                          }
                                        },
                                        "value": "equal_radius",
                                        "rawValue": "equal_radius",
                                        "raw": "'equal_radius'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7164,
                                        "end": 7173,
                                        "loc": {
                                          "start": {
                                            "line": 189,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 189,
                                            "column": 38
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7188,
                                    "end": 7222,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 46
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7189,
                                        "end": 7210,
                                        "loc": {
                                          "start": {
                                            "line": 190,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 190,
                                            "column": 34
                                          }
                                        },
                                        "value": "horizontal_distance",
                                        "rawValue": "horizontal_distance",
                                        "raw": "'horizontal_distance'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7212,
                                        "end": 7221,
                                        "loc": {
                                          "start": {
                                            "line": 190,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 190,
                                            "column": 45
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7236,
                                    "end": 7268,
                                    "loc": {
                                      "start": {
                                        "line": 191,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 191,
                                        "column": 44
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7237,
                                        "end": 7256,
                                        "loc": {
                                          "start": {
                                            "line": 191,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 191,
                                            "column": 32
                                          }
                                        },
                                        "value": "vertical_distance",
                                        "rawValue": "vertical_distance",
                                        "raw": "'vertical_distance'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7258,
                                        "end": 7267,
                                        "loc": {
                                          "start": {
                                            "line": 191,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 191,
                                            "column": 43
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 7282,
                                    "end": 7311,
                                    "loc": {
                                      "start": {
                                        "line": 192,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 192,
                                        "column": 41
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 7283,
                                        "end": 7299,
                                        "loc": {
                                          "start": {
                                            "line": 192,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 192,
                                            "column": 29
                                          }
                                        },
                                        "value": "autoconstraint",
                                        "rawValue": "autoconstraint",
                                        "raw": "'autoconstraint'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 7301,
                                        "end": 7310,
                                        "loc": {
                                          "start": {
                                            "line": 192,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 192,
                                            "column": 40
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 7334,
                      "end": 7363,
                      "loc": {
                        "start": {
                          "line": 195,
                          "column": 8
                        },
                        "end": {
                          "line": 195,
                          "column": 37
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7338,
                          "end": 7362,
                          "loc": {
                            "start": {
                              "line": 195,
                              "column": 12
                            },
                            "end": {
                              "line": 195,
                              "column": 36
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7338,
                            "end": 7342,
                            "loc": {
                              "start": {
                                "line": 195,
                                "column": 12
                              },
                              "end": {
                                "line": 195,
                                "column": 16
                              }
                            },
                            "name": "view"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 7345,
                            "end": 7362,
                            "loc": {
                              "start": {
                                "line": 195,
                                "column": 19
                              },
                              "end": {
                                "line": 195,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 7345,
                              "end": 7349,
                              "loc": {
                                "start": {
                                  "line": 195,
                                  "column": 19
                                },
                                "end": {
                                  "line": 195,
                                  "column": 23
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7350,
                              "end": 7362,
                              "loc": {
                                "start": {
                                  "line": 195,
                                  "column": 24
                                },
                                "end": {
                                  "line": 195,
                                  "column": 36
                                }
                              },
                              "name": "__parentView"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 7373,
                      "end": 7686,
                      "loc": {
                        "start": {
                          "line": 197,
                          "column": 8
                        },
                        "end": {
                          "line": 204,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 7377,
                        "end": 7419,
                        "loc": {
                          "start": {
                            "line": 197,
                            "column": 12
                          },
                          "end": {
                            "line": 197,
                            "column": 54
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 7377,
                          "end": 7397,
                          "loc": {
                            "start": {
                              "line": 197,
                              "column": 12
                            },
                            "end": {
                              "line": 197,
                              "column": 32
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 7377,
                            "end": 7383,
                            "loc": {
                              "start": {
                                "line": 197,
                                "column": 12
                              },
                              "end": {
                                "line": 197,
                                "column": 18
                              }
                            },
                            "name": "action"
                          },
                          "operator": "===",
                          "right": {
                            "type": "Identifier",
                            "start": 7388,
                            "end": 7397,
                            "loc": {
                              "start": {
                                "line": 197,
                                "column": 23
                              },
                              "end": {
                                "line": 197,
                                "column": 32
                              }
                            },
                            "name": "undefined"
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "MemberExpression",
                          "start": 7401,
                          "end": 7419,
                          "loc": {
                            "start": {
                              "line": 197,
                              "column": 36
                            },
                            "end": {
                              "line": 197,
                              "column": 54
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 7401,
                            "end": 7405,
                            "loc": {
                              "start": {
                                "line": 197,
                                "column": 36
                              },
                              "end": {
                                "line": 197,
                                "column": 40
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7406,
                            "end": 7419,
                            "loc": {
                              "start": {
                                "line": 197,
                                "column": 41
                              },
                              "end": {
                                "line": 197,
                                "column": 54
                              }
                            },
                            "name": "currentCursor"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 7421,
                        "end": 7480,
                        "loc": {
                          "start": {
                            "line": 197,
                            "column": 56
                          },
                          "end": {
                            "line": 199,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 7435,
                            "end": 7470,
                            "loc": {
                              "start": {
                                "line": 198,
                                "column": 12
                              },
                              "end": {
                                "line": 198,
                                "column": 47
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 7435,
                              "end": 7469,
                              "loc": {
                                "start": {
                                  "line": 198,
                                  "column": 12
                                },
                                "end": {
                                  "line": 198,
                                  "column": 46
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7435,
                                "end": 7449,
                                "loc": {
                                  "start": {
                                    "line": 198,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 198,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 7435,
                                  "end": 7439,
                                  "loc": {
                                    "start": {
                                      "line": 198,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 198,
                                      "column": 16
                                    }
                                  },
                                  "name": "view"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7440,
                                  "end": 7449,
                                  "loc": {
                                    "start": {
                                      "line": 198,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 198,
                                      "column": 26
                                    }
                                  },
                                  "name": "setCursor"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 7450,
                                  "end": 7468,
                                  "loc": {
                                    "start": {
                                      "line": 198,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 198,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7450,
                                    "end": 7454,
                                    "loc": {
                                      "start": {
                                        "line": 198,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 198,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7455,
                                    "end": 7468,
                                    "loc": {
                                      "start": {
                                        "line": 198,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 198,
                                        "column": 45
                                      }
                                    },
                                    "name": "currentCursor"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": {
                        "type": "IfStatement",
                        "start": 7486,
                        "end": 7686,
                        "loc": {
                          "start": {
                            "line": 199,
                            "column": 15
                          },
                          "end": {
                            "line": 204,
                            "column": 9
                          }
                        },
                        "test": {
                          "type": "CallExpression",
                          "start": 7490,
                          "end": 7512,
                          "loc": {
                            "start": {
                              "line": 199,
                              "column": 19
                            },
                            "end": {
                              "line": 199,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 7490,
                            "end": 7504,
                            "loc": {
                              "start": {
                                "line": 199,
                                "column": 19
                              },
                              "end": {
                                "line": 199,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 7490,
                              "end": 7500,
                              "loc": {
                                "start": {
                                  "line": 199,
                                  "column": 19
                                },
                                "end": {
                                  "line": 199,
                                  "column": 29
                                }
                              },
                              "name": "cursorsURL"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7501,
                              "end": 7504,
                              "loc": {
                                "start": {
                                  "line": 199,
                                  "column": 30
                                },
                                "end": {
                                  "line": 199,
                                  "column": 33
                                }
                              },
                              "name": "has"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 7505,
                              "end": 7511,
                              "loc": {
                                "start": {
                                  "line": 199,
                                  "column": 34
                                },
                                "end": {
                                  "line": 199,
                                  "column": 40
                                }
                              },
                              "name": "action"
                            }
                          ]
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 7514,
                          "end": 7630,
                          "loc": {
                            "start": {
                              "line": 199,
                              "column": 43
                            },
                            "end": {
                              "line": 202,
                              "column": 9
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 7528,
                              "end": 7572,
                              "loc": {
                                "start": {
                                  "line": 200,
                                  "column": 12
                                },
                                "end": {
                                  "line": 200,
                                  "column": 56
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 7528,
                                "end": 7571,
                                "loc": {
                                  "start": {
                                    "line": 200,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 200,
                                    "column": 55
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 7528,
                                  "end": 7546,
                                  "loc": {
                                    "start": {
                                      "line": 200,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 200,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7528,
                                    "end": 7532,
                                    "loc": {
                                      "start": {
                                        "line": 200,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 200,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7533,
                                    "end": 7546,
                                    "loc": {
                                      "start": {
                                        "line": 200,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 200,
                                        "column": 30
                                      }
                                    },
                                    "name": "currentCursor"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "start": 7549,
                                  "end": 7571,
                                  "loc": {
                                    "start": {
                                      "line": 200,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 200,
                                      "column": 55
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 7549,
                                    "end": 7563,
                                    "loc": {
                                      "start": {
                                        "line": 200,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 200,
                                        "column": 47
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 7549,
                                      "end": 7559,
                                      "loc": {
                                        "start": {
                                          "line": 200,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 200,
                                          "column": 43
                                        }
                                      },
                                      "name": "cursorsURL"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7560,
                                      "end": 7563,
                                      "loc": {
                                        "start": {
                                          "line": 200,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 200,
                                          "column": 47
                                        }
                                      },
                                      "name": "get"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 7564,
                                      "end": 7570,
                                      "loc": {
                                        "start": {
                                          "line": 200,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 200,
                                          "column": 54
                                        }
                                      },
                                      "name": "action"
                                    }
                                  ]
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 7585,
                              "end": 7620,
                              "loc": {
                                "start": {
                                  "line": 201,
                                  "column": 12
                                },
                                "end": {
                                  "line": 201,
                                  "column": 47
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 7585,
                                "end": 7619,
                                "loc": {
                                  "start": {
                                    "line": 201,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 201,
                                    "column": 46
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 7585,
                                  "end": 7599,
                                  "loc": {
                                    "start": {
                                      "line": 201,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 201,
                                      "column": 26
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 7585,
                                    "end": 7589,
                                    "loc": {
                                      "start": {
                                        "line": 201,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 201,
                                        "column": 16
                                      }
                                    },
                                    "name": "view"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7590,
                                    "end": 7599,
                                    "loc": {
                                      "start": {
                                        "line": 201,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 201,
                                        "column": 26
                                      }
                                    },
                                    "name": "setCursor"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 7600,
                                    "end": 7618,
                                    "loc": {
                                      "start": {
                                        "line": 201,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 201,
                                        "column": 45
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 7600,
                                      "end": 7604,
                                      "loc": {
                                        "start": {
                                          "line": 201,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 201,
                                          "column": 31
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7605,
                                      "end": 7618,
                                      "loc": {
                                        "start": {
                                          "line": 201,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 201,
                                          "column": 45
                                        }
                                      },
                                      "name": "currentCursor"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          ]
                        },
                        "alternate": {
                          "type": "BlockStatement",
                          "start": 7636,
                          "end": 7686,
                          "loc": {
                            "start": {
                              "line": 202,
                              "column": 15
                            },
                            "end": {
                              "line": 204,
                              "column": 9
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 7650,
                              "end": 7676,
                              "loc": {
                                "start": {
                                  "line": 203,
                                  "column": 12
                                },
                                "end": {
                                  "line": 203,
                                  "column": 38
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 7650,
                                "end": 7675,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 203,
                                    "column": 37
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 7650,
                                  "end": 7668,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7650,
                                    "end": 7654,
                                    "loc": {
                                      "start": {
                                        "line": 203,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 203,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7655,
                                    "end": 7668,
                                    "loc": {
                                      "start": {
                                        "line": 203,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 203,
                                        "column": 30
                                      }
                                    },
                                    "name": "currentCursor"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "Literal",
                                  "start": 7671,
                                  "end": 7675,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 37
                                    }
                                  },
                                  "value": null,
                                  "rawValue": null,
                                  "raw": "null"
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 7698,
              "end": 8784,
              "loc": {
                "start": {
                  "line": 207,
                  "column": 4
                },
                "end": {
                  "line": 233,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 7698,
                "end": 7708,
                "loc": {
                  "start": {
                    "line": 207,
                    "column": 4
                  },
                  "end": {
                    "line": 207,
                    "column": 14
                  }
                },
                "name": "chooseTool"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 7708,
                "end": 8784,
                "loc": {
                  "start": {
                    "line": 207,
                    "column": 14
                  },
                  "end": {
                    "line": 233,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 7709,
                    "end": 7717,
                    "loc": {
                      "start": {
                        "line": 207,
                        "column": 15
                      },
                      "end": {
                        "line": 207,
                        "column": 23
                      }
                    },
                    "name": "toolName"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 7719,
                  "end": 8784,
                  "loc": {
                    "start": {
                      "line": 207,
                      "column": 25
                    },
                    "end": {
                      "line": 233,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 7729,
                      "end": 7760,
                      "loc": {
                        "start": {
                          "line": 208,
                          "column": 8
                        },
                        "end": {
                          "line": 208,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 7729,
                        "end": 7759,
                        "loc": {
                          "start": {
                            "line": 208,
                            "column": 8
                          },
                          "end": {
                            "line": 208,
                            "column": 38
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 7729,
                          "end": 7749,
                          "loc": {
                            "start": {
                              "line": 208,
                              "column": 8
                            },
                            "end": {
                              "line": 208,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 7729,
                            "end": 7733,
                            "loc": {
                              "start": {
                                "line": 208,
                                "column": 8
                              },
                              "end": {
                                "line": 208,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7734,
                            "end": 7749,
                            "loc": {
                              "start": {
                                "line": 208,
                                "column": 13
                              },
                              "end": {
                                "line": 208,
                                "column": 28
                              }
                            },
                            "name": "setActionCursor"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 7750,
                            "end": 7758,
                            "loc": {
                              "start": {
                                "line": 208,
                                "column": 29
                              },
                              "end": {
                                "line": 208,
                                "column": 37
                              }
                            },
                            "name": "toolName"
                          }
                        ]
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 7770,
                      "end": 8166,
                      "loc": {
                        "start": {
                          "line": 210,
                          "column": 8
                        },
                        "end": {
                          "line": 219,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 7774,
                        "end": 7782,
                        "loc": {
                          "start": {
                            "line": 210,
                            "column": 12
                          },
                          "end": {
                            "line": 210,
                            "column": 20
                          }
                        },
                        "name": "toolName"
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 7784,
                        "end": 8166,
                        "loc": {
                          "start": {
                            "line": 210,
                            "column": 22
                          },
                          "end": {
                            "line": 219,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 7878,
                            "end": 8018,
                            "loc": {
                              "start": {
                                "line": 212,
                                "column": 12
                              },
                              "end": {
                                "line": 214,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 7882,
                              "end": 7937,
                              "loc": {
                                "start": {
                                  "line": 212,
                                  "column": 16
                                },
                                "end": {
                                  "line": 212,
                                  "column": 71
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 7882,
                                "end": 7902,
                                "loc": {
                                  "start": {
                                    "line": 212,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 212,
                                    "column": 36
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 7882,
                                  "end": 7890,
                                  "loc": {
                                    "start": {
                                      "line": 212,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 212,
                                      "column": 24
                                    }
                                  },
                                  "name": "toolName",
                                  "leadingComments": null
                                },
                                "operator": "===",
                                "right": {
                                  "type": "Literal",
                                  "start": 7895,
                                  "end": 7902,
                                  "loc": {
                                    "start": {
                                      "line": 212,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 212,
                                      "column": 36
                                    }
                                  },
                                  "value": "empty",
                                  "rawValue": "empty",
                                  "raw": "\"empty\""
                                },
                                "leadingComments": null
                              },
                              "operator": "&&",
                              "right": {
                                "type": "MemberExpression",
                                "start": 7906,
                                "end": 7937,
                                "loc": {
                                  "start": {
                                    "line": 212,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 212,
                                    "column": 71
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 7906,
                                  "end": 7920,
                                  "loc": {
                                    "start": {
                                      "line": 212,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 212,
                                      "column": 54
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7906,
                                    "end": 7910,
                                    "loc": {
                                      "start": {
                                        "line": 212,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 212,
                                        "column": 44
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7911,
                                    "end": 7920,
                                    "loc": {
                                      "start": {
                                        "line": 212,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 212,
                                        "column": 54
                                      }
                                    },
                                    "name": "modelData"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7921,
                                  "end": 7937,
                                  "loc": {
                                    "start": {
                                      "line": 212,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 212,
                                      "column": 71
                                    }
                                  },
                                  "name": "incrementalLevel"
                                },
                                "computed": false
                              },
                              "leadingComments": null
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 7939,
                              "end": 8018,
                              "loc": {
                                "start": {
                                  "line": 212,
                                  "column": 73
                                },
                                "end": {
                                  "line": 214,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 7957,
                                  "end": 7995,
                                  "loc": {
                                    "start": {
                                      "line": 213,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 213,
                                      "column": 54
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 7957,
                                    "end": 7994,
                                    "loc": {
                                      "start": {
                                        "line": 213,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 213,
                                        "column": 53
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 7957,
                                      "end": 7992,
                                      "loc": {
                                        "start": {
                                          "line": 213,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 213,
                                          "column": 51
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 7957,
                                        "end": 7975,
                                        "loc": {
                                          "start": {
                                            "line": 213,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 213,
                                            "column": 34
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 7957,
                                          "end": 7961,
                                          "loc": {
                                            "start": {
                                              "line": 213,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 213,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 7962,
                                          "end": 7975,
                                          "loc": {
                                            "start": {
                                              "line": 213,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 213,
                                              "column": 34
                                            }
                                          },
                                          "name": "currentSketch"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7976,
                                        "end": 7992,
                                        "loc": {
                                          "start": {
                                            "line": 213,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 213,
                                            "column": 51
                                          }
                                        },
                                        "name": "solveConstraints"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  "trailingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": "async",
                                      "start": 7997,
                                      "end": 8004,
                                      "loc": {
                                        "start": {
                                          "line": 213,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 213,
                                          "column": 63
                                        }
                                      },
                                      "range": [
                                        7997,
                                        8004
                                      ]
                                    }
                                  ]
                                }
                              ]
                            },
                            "alternate": null,
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " supported toolName's are: empty point line arc polyline tangency",
                                "start": 7798,
                                "end": 7865,
                                "loc": {
                                  "start": {
                                    "line": 211,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 211,
                                    "column": 79
                                  }
                                },
                                "range": [
                                  7798,
                                  7865
                                ]
                              }
                            ]
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 8032,
                            "end": 8085,
                            "loc": {
                              "start": {
                                "line": 216,
                                "column": 12
                              },
                              "end": {
                                "line": 216,
                                "column": 65
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 8036,
                                "end": 8084,
                                "loc": {
                                  "start": {
                                    "line": 216,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 216,
                                    "column": 64
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 8036,
                                  "end": 8051,
                                  "loc": {
                                    "start": {
                                      "line": 216,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 216,
                                      "column": 31
                                    }
                                  },
                                  "name": "controlsHandler",
                                  "leadingComments": null
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 8054,
                                  "end": 8084,
                                  "loc": {
                                    "start": {
                                      "line": 216,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 216,
                                      "column": 64
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8054,
                                    "end": 8062,
                                    "loc": {
                                      "start": {
                                        "line": 216,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 216,
                                        "column": 42
                                      }
                                    },
                                    "name": "Controls"
                                  },
                                  "property": {
                                    "type": "BinaryExpression",
                                    "start": 8063,
                                    "end": 8083,
                                    "loc": {
                                      "start": {
                                        "line": 216,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 216,
                                        "column": 63
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 8063,
                                      "end": 8071,
                                      "loc": {
                                        "start": {
                                          "line": 216,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 216,
                                          "column": 51
                                        }
                                      },
                                      "name": "toolName"
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "Literal",
                                      "start": 8074,
                                      "end": 8083,
                                      "loc": {
                                        "start": {
                                          "line": 216,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 216,
                                          "column": 63
                                        }
                                      },
                                      "value": "Handler",
                                      "rawValue": "Handler",
                                      "raw": "'Handler'"
                                    }
                                  },
                                  "computed": true
                                },
                                "leadingComments": null
                              }
                            ],
                            "kind": "var",
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": "async",
                                "start": 7997,
                                "end": 8004,
                                "loc": {
                                  "start": {
                                    "line": 213,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 213,
                                    "column": 63
                                  }
                                },
                                "range": [
                                  7997,
                                  8004
                                ]
                              }
                            ]
                          },
                          {
                            "type": "IfStatement",
                            "start": 8098,
                            "end": 8156,
                            "loc": {
                              "start": {
                                "line": 217,
                                "column": 12
                              },
                              "end": {
                                "line": 218,
                                "column": 23
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 8102,
                              "end": 8131,
                              "loc": {
                                "start": {
                                  "line": 217,
                                  "column": 16
                                },
                                "end": {
                                  "line": 217,
                                  "column": 45
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 8102,
                                "end": 8117,
                                "loc": {
                                  "start": {
                                    "line": 217,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 217,
                                    "column": 31
                                  }
                                },
                                "name": "controlsHandler"
                              },
                              "operator": "===",
                              "right": {
                                "type": "Identifier",
                                "start": 8122,
                                "end": 8131,
                                "loc": {
                                  "start": {
                                    "line": 217,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 217,
                                    "column": 45
                                  }
                                },
                                "name": "undefined"
                              }
                            },
                            "consequent": {
                              "type": "ReturnStatement",
                              "start": 8149,
                              "end": 8156,
                              "loc": {
                                "start": {
                                  "line": 218,
                                  "column": 16
                                },
                                "end": {
                                  "line": 218,
                                  "column": 23
                                }
                              },
                              "argument": null
                            },
                            "alternate": null
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " choosing line/arc edges when drawing a polyline",
                          "start": 8176,
                          "end": 8226,
                          "loc": {
                            "start": {
                              "line": 221,
                              "column": 8
                            },
                            "end": {
                              "line": 221,
                              "column": 58
                            }
                          },
                          "range": [
                            8176,
                            8226
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 8235,
                      "end": 8467,
                      "loc": {
                        "start": {
                          "line": 222,
                          "column": 8
                        },
                        "end": {
                          "line": 224,
                          "column": 73
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 8239,
                        "end": 8303,
                        "loc": {
                          "start": {
                            "line": 222,
                            "column": 12
                          },
                          "end": {
                            "line": 222,
                            "column": 76
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 8239,
                          "end": 8267,
                          "loc": {
                            "start": {
                              "line": 222,
                              "column": 12
                            },
                            "end": {
                              "line": 222,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 8239,
                            "end": 8243,
                            "loc": {
                              "start": {
                                "line": 222,
                                "column": 12
                              },
                              "end": {
                                "line": 222,
                                "column": 16
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8244,
                            "end": 8267,
                            "loc": {
                              "start": {
                                "line": 222,
                                "column": 17
                              },
                              "end": {
                                "line": 222,
                                "column": 40
                              }
                            },
                            "name": "__sketchControlsHandler"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "operator": "instanceof",
                        "right": {
                          "type": "MemberExpression",
                          "start": 8279,
                          "end": 8303,
                          "loc": {
                            "start": {
                              "line": 222,
                              "column": 52
                            },
                            "end": {
                              "line": 222,
                              "column": 76
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8279,
                            "end": 8287,
                            "loc": {
                              "start": {
                                "line": 222,
                                "column": 52
                              },
                              "end": {
                                "line": 222,
                                "column": 60
                              }
                            },
                            "name": "Controls"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8288,
                            "end": 8303,
                            "loc": {
                              "start": {
                                "line": 222,
                                "column": 61
                              },
                              "end": {
                                "line": 222,
                                "column": 76
                              }
                            },
                            "name": "polylineHandler"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "IfStatement",
                        "start": 8317,
                        "end": 8467,
                        "loc": {
                          "start": {
                            "line": 223,
                            "column": 12
                          },
                          "end": {
                            "line": 224,
                            "column": 73
                          }
                        },
                        "test": {
                          "type": "LogicalExpression",
                          "start": 8321,
                          "end": 8392,
                          "loc": {
                            "start": {
                              "line": 223,
                              "column": 16
                            },
                            "end": {
                              "line": 223,
                              "column": 87
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 8321,
                            "end": 8329,
                            "loc": {
                              "start": {
                                "line": 223,
                                "column": 16
                              },
                              "end": {
                                "line": 223,
                                "column": 24
                              }
                            },
                            "name": "toolName"
                          },
                          "operator": "&&",
                          "right": {
                            "type": "LogicalExpression",
                            "start": 8334,
                            "end": 8391,
                            "loc": {
                              "start": {
                                "line": 223,
                                "column": 29
                              },
                              "end": {
                                "line": 223,
                                "column": 86
                              }
                            },
                            "left": {
                              "type": "CallExpression",
                              "start": 8334,
                              "end": 8361,
                              "loc": {
                                "start": {
                                  "line": 223,
                                  "column": 29
                                },
                                "end": {
                                  "line": 223,
                                  "column": 56
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 8334,
                                "end": 8353,
                                "loc": {
                                  "start": {
                                    "line": 223,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 223,
                                    "column": 48
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8334,
                                  "end": 8342,
                                  "loc": {
                                    "start": {
                                      "line": 223,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 223,
                                      "column": 37
                                    }
                                  },
                                  "name": "toolName"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8343,
                                  "end": 8353,
                                  "loc": {
                                    "start": {
                                      "line": 223,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 223,
                                      "column": 48
                                    }
                                  },
                                  "name": "startsWith"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 8354,
                                  "end": 8360,
                                  "loc": {
                                    "start": {
                                      "line": 223,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 223,
                                      "column": 55
                                    }
                                  },
                                  "value": "line",
                                  "rawValue": "line",
                                  "raw": "'line'"
                                }
                              ]
                            },
                            "operator": "||",
                            "right": {
                              "type": "CallExpression",
                              "start": 8365,
                              "end": 8391,
                              "loc": {
                                "start": {
                                  "line": 223,
                                  "column": 60
                                },
                                "end": {
                                  "line": 223,
                                  "column": 86
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 8365,
                                "end": 8384,
                                "loc": {
                                  "start": {
                                    "line": 223,
                                    "column": 60
                                  },
                                  "end": {
                                    "line": 223,
                                    "column": 79
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8365,
                                  "end": 8373,
                                  "loc": {
                                    "start": {
                                      "line": 223,
                                      "column": 60
                                    },
                                    "end": {
                                      "line": 223,
                                      "column": 68
                                    }
                                  },
                                  "name": "toolName"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8374,
                                  "end": 8384,
                                  "loc": {
                                    "start": {
                                      "line": 223,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 223,
                                      "column": 79
                                    }
                                  },
                                  "name": "startsWith"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 8385,
                                  "end": 8390,
                                  "loc": {
                                    "start": {
                                      "line": 223,
                                      "column": 80
                                    },
                                    "end": {
                                      "line": 223,
                                      "column": 85
                                    }
                                  },
                                  "value": "arc",
                                  "rawValue": "arc",
                                  "raw": "'arc'"
                                }
                              ]
                            },
                            "parenthesizedExpression": true
                          }
                        },
                        "consequent": {
                          "type": "ReturnStatement",
                          "start": 8406,
                          "end": 8467,
                          "loc": {
                            "start": {
                              "line": 224,
                              "column": 12
                            },
                            "end": {
                              "line": 224,
                              "column": 73
                            }
                          },
                          "argument": {
                            "type": "CallExpression",
                            "start": 8413,
                            "end": 8466,
                            "loc": {
                              "start": {
                                "line": 224,
                                "column": 19
                              },
                              "end": {
                                "line": 224,
                                "column": 72
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8413,
                              "end": 8456,
                              "loc": {
                                "start": {
                                  "line": 224,
                                  "column": 19
                                },
                                "end": {
                                  "line": 224,
                                  "column": 62
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 8413,
                                "end": 8441,
                                "loc": {
                                  "start": {
                                    "line": 224,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 224,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 8413,
                                  "end": 8417,
                                  "loc": {
                                    "start": {
                                      "line": 224,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 224,
                                      "column": 23
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8418,
                                  "end": 8441,
                                  "loc": {
                                    "start": {
                                      "line": 224,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 224,
                                      "column": 47
                                    }
                                  },
                                  "name": "__sketchControlsHandler"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8442,
                                "end": 8456,
                                "loc": {
                                  "start": {
                                    "line": 224,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 224,
                                    "column": 62
                                  }
                                },
                                "name": "changeEdgeType"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 8457,
                                "end": 8465,
                                "loc": {
                                  "start": {
                                    "line": 224,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 224,
                                    "column": 71
                                  }
                                },
                                "name": "toolName"
                              }
                            ]
                          },
                          "trailingComments": null
                        },
                        "alternate": null,
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " choosing line/arc edges when drawing a polyline",
                          "start": 8176,
                          "end": 8226,
                          "loc": {
                            "start": {
                              "line": 221,
                              "column": 8
                            },
                            "end": {
                              "line": 221,
                              "column": 58
                            }
                          },
                          "range": [
                            8176,
                            8226
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " ask controls handler to finish whatever it is doing",
                          "start": 8477,
                          "end": 8531,
                          "loc": {
                            "start": {
                              "line": 226,
                              "column": 8
                            },
                            "end": {
                              "line": 226,
                              "column": 62
                            }
                          },
                          "range": [
                            8477,
                            8531
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 8540,
                      "end": 8624,
                      "loc": {
                        "start": {
                          "line": 227,
                          "column": 8
                        },
                        "end": {
                          "line": 228,
                          "column": 50
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 8544,
                        "end": 8572,
                        "loc": {
                          "start": {
                            "line": 227,
                            "column": 12
                          },
                          "end": {
                            "line": 227,
                            "column": 40
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 8544,
                          "end": 8548,
                          "loc": {
                            "start": {
                              "line": 227,
                              "column": 12
                            },
                            "end": {
                              "line": 227,
                              "column": 16
                            }
                          },
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 8549,
                          "end": 8572,
                          "loc": {
                            "start": {
                              "line": 227,
                              "column": 17
                            },
                            "end": {
                              "line": 227,
                              "column": 40
                            }
                          },
                          "name": "__sketchControlsHandler"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 8586,
                        "end": 8624,
                        "loc": {
                          "start": {
                            "line": 228,
                            "column": 12
                          },
                          "end": {
                            "line": 228,
                            "column": 50
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 8586,
                          "end": 8623,
                          "loc": {
                            "start": {
                              "line": 228,
                              "column": 12
                            },
                            "end": {
                              "line": 228,
                              "column": 49
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8586,
                            "end": 8621,
                            "loc": {
                              "start": {
                                "line": 228,
                                "column": 12
                              },
                              "end": {
                                "line": 228,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 8586,
                              "end": 8614,
                              "loc": {
                                "start": {
                                  "line": 228,
                                  "column": 12
                                },
                                "end": {
                                  "line": 228,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 8586,
                                "end": 8590,
                                "loc": {
                                  "start": {
                                    "line": 228,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 228,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8591,
                                "end": 8614,
                                "loc": {
                                  "start": {
                                    "line": 228,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 228,
                                    "column": 40
                                  }
                                },
                                "name": "__sketchControlsHandler"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8615,
                              "end": 8621,
                              "loc": {
                                "start": {
                                  "line": 228,
                                  "column": 41
                                },
                                "end": {
                                  "line": 228,
                                  "column": 47
                                }
                              },
                              "name": "finish"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " ask controls handler to finish whatever it is doing",
                          "start": 8477,
                          "end": 8531,
                          "loc": {
                            "start": {
                              "line": 226,
                              "column": 8
                            },
                            "end": {
                              "line": 226,
                              "column": 62
                            }
                          },
                          "range": [
                            8477,
                            8531
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 8633,
                      "end": 8778,
                      "loc": {
                        "start": {
                          "line": 229,
                          "column": 8
                        },
                        "end": {
                          "line": 232,
                          "column": 48
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 8637,
                        "end": 8645,
                        "loc": {
                          "start": {
                            "line": 229,
                            "column": 12
                          },
                          "end": {
                            "line": 229,
                            "column": 20
                          }
                        },
                        "name": "toolName"
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 8659,
                        "end": 8716,
                        "loc": {
                          "start": {
                            "line": 230,
                            "column": 12
                          },
                          "end": {
                            "line": 230,
                            "column": 69
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 8659,
                          "end": 8715,
                          "loc": {
                            "start": {
                              "line": 230,
                              "column": 12
                            },
                            "end": {
                              "line": 230,
                              "column": 68
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 8659,
                            "end": 8687,
                            "loc": {
                              "start": {
                                "line": 230,
                                "column": 12
                              },
                              "end": {
                                "line": 230,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8659,
                              "end": 8663,
                              "loc": {
                                "start": {
                                  "line": 230,
                                  "column": 12
                                },
                                "end": {
                                  "line": 230,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8664,
                              "end": 8687,
                              "loc": {
                                "start": {
                                  "line": 230,
                                  "column": 17
                                },
                                "end": {
                                  "line": 230,
                                  "column": 40
                                }
                              },
                              "name": "__sketchControlsHandler"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "NewExpression",
                            "start": 8690,
                            "end": 8715,
                            "loc": {
                              "start": {
                                "line": 230,
                                "column": 43
                              },
                              "end": {
                                "line": 230,
                                "column": 68
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 8694,
                              "end": 8709,
                              "loc": {
                                "start": {
                                  "line": 230,
                                  "column": 47
                                },
                                "end": {
                                  "line": 230,
                                  "column": 62
                                }
                              },
                              "name": "controlsHandler"
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "start": 8710,
                                "end": 8714,
                                "loc": {
                                  "start": {
                                    "line": 230,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 230,
                                    "column": 67
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      "alternate": {
                        "type": "ExpressionStatement",
                        "start": 8742,
                        "end": 8778,
                        "loc": {
                          "start": {
                            "line": 232,
                            "column": 12
                          },
                          "end": {
                            "line": 232,
                            "column": 48
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 8742,
                          "end": 8777,
                          "loc": {
                            "start": {
                              "line": 232,
                              "column": 12
                            },
                            "end": {
                              "line": 232,
                              "column": 47
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 8742,
                            "end": 8770,
                            "loc": {
                              "start": {
                                "line": 232,
                                "column": 12
                              },
                              "end": {
                                "line": 232,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8742,
                              "end": 8746,
                              "loc": {
                                "start": {
                                  "line": 232,
                                  "column": 12
                                },
                                "end": {
                                  "line": 232,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8747,
                              "end": 8770,
                              "loc": {
                                "start": {
                                  "line": 232,
                                  "column": 17
                                },
                                "end": {
                                  "line": 232,
                                  "column": 40
                                }
                              },
                              "name": "__sketchControlsHandler"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Literal",
                            "start": 8773,
                            "end": 8777,
                            "loc": {
                              "start": {
                                "line": 232,
                                "column": 43
                              },
                              "end": {
                                "line": 232,
                                "column": 47
                              }
                            },
                            "value": null,
                            "rawValue": null,
                            "raw": "null"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 8790,
              "end": 9036,
              "loc": {
                "start": {
                  "line": 235,
                  "column": 4
                },
                "end": {
                  "line": 241,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 8796,
                "end": 8812,
                "loc": {
                  "start": {
                    "line": 235,
                    "column": 10
                  },
                  "end": {
                    "line": 235,
                    "column": 26
                  }
                },
                "name": "solveConstraints"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 8812,
                "end": 9036,
                "loc": {
                  "start": {
                    "line": 235,
                    "column": 26
                  },
                  "end": {
                    "line": 241,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 8815,
                  "end": 9036,
                  "loc": {
                    "start": {
                      "line": 235,
                      "column": 29
                    },
                    "end": {
                      "line": 241,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 8825,
                      "end": 8869,
                      "loc": {
                        "start": {
                          "line": 236,
                          "column": 8
                        },
                        "end": {
                          "line": 237,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 8829,
                        "end": 8848,
                        "loc": {
                          "start": {
                            "line": 236,
                            "column": 12
                          },
                          "end": {
                            "line": 236,
                            "column": 31
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 8830,
                          "end": 8848,
                          "loc": {
                            "start": {
                              "line": 236,
                              "column": 13
                            },
                            "end": {
                              "line": 236,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 8830,
                            "end": 8834,
                            "loc": {
                              "start": {
                                "line": 236,
                                "column": 13
                              },
                              "end": {
                                "line": 236,
                                "column": 17
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8835,
                            "end": 8848,
                            "loc": {
                              "start": {
                                "line": 236,
                                "column": 18
                              },
                              "end": {
                                "line": 236,
                                "column": 31
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 8862,
                        "end": 8869,
                        "loc": {
                          "start": {
                            "line": 237,
                            "column": 12
                          },
                          "end": {
                            "line": 237,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 8878,
                      "end": 8935,
                      "loc": {
                        "start": {
                          "line": 238,
                          "column": 8
                        },
                        "end": {
                          "line": 238,
                          "column": 65
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8882,
                          "end": 8934,
                          "loc": {
                            "start": {
                              "line": 238,
                              "column": 12
                            },
                            "end": {
                              "line": 238,
                              "column": 64
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8882,
                            "end": 8888,
                            "loc": {
                              "start": {
                                "line": 238,
                                "column": 12
                              },
                              "end": {
                                "line": 238,
                                "column": 18
                              }
                            },
                            "name": "result"
                          },
                          "init": {
                            "type": "AwaitExpression",
                            "start": 8891,
                            "end": 8934,
                            "loc": {
                              "start": {
                                "line": 238,
                                "column": 21
                              },
                              "end": {
                                "line": 238,
                                "column": 64
                              }
                            },
                            "all": false,
                            "argument": {
                              "type": "CallExpression",
                              "start": 8897,
                              "end": 8934,
                              "loc": {
                                "start": {
                                  "line": 238,
                                  "column": 27
                                },
                                "end": {
                                  "line": 238,
                                  "column": 64
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 8897,
                                "end": 8932,
                                "loc": {
                                  "start": {
                                    "line": 238,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 238,
                                    "column": 62
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 8897,
                                  "end": 8915,
                                  "loc": {
                                    "start": {
                                      "line": 238,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 238,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 8897,
                                    "end": 8901,
                                    "loc": {
                                      "start": {
                                        "line": 238,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 238,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8902,
                                    "end": 8915,
                                    "loc": {
                                      "start": {
                                        "line": 238,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 238,
                                        "column": 45
                                      }
                                    },
                                    "name": "currentSketch"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8916,
                                  "end": 8932,
                                  "loc": {
                                    "start": {
                                      "line": 238,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 238,
                                      "column": 62
                                    }
                                  },
                                  "name": "solveConstraints"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          }
                        }
                      ],
                      "kind": "let",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " result: 0 - fail, 1 - well-defined, 2 - solved?",
                          "start": 8944,
                          "end": 8994,
                          "loc": {
                            "start": {
                              "line": 239,
                              "column": 8
                            },
                            "end": {
                              "line": 239,
                              "column": 58
                            }
                          },
                          "range": [
                            8944,
                            8994
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " TODO show result somehow",
                          "start": 9003,
                          "end": 9030,
                          "loc": {
                            "start": {
                              "line": 240,
                              "column": 8
                            },
                            "end": {
                              "line": 240,
                              "column": 35
                            }
                          },
                          "range": [
                            9003,
                            9030
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 9042,
              "end": 9236,
              "loc": {
                "start": {
                  "line": 243,
                  "column": 4
                },
                "end": {
                  "line": 247,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9048,
                "end": 9067,
                "loc": {
                  "start": {
                    "line": 243,
                    "column": 10
                  },
                  "end": {
                    "line": 243,
                    "column": 29
                  }
                },
                "name": "setIncrementalLevel"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9067,
                "end": 9236,
                "loc": {
                  "start": {
                    "line": 243,
                    "column": 29
                  },
                  "end": {
                    "line": 247,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 9068,
                    "end": 9073,
                    "loc": {
                      "start": {
                        "line": 243,
                        "column": 30
                      },
                      "end": {
                        "line": 243,
                        "column": 35
                      }
                    },
                    "name": "value"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 9075,
                  "end": 9236,
                  "loc": {
                    "start": {
                      "line": 243,
                      "column": 37
                    },
                    "end": {
                      "line": 247,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 9085,
                      "end": 9126,
                      "loc": {
                        "start": {
                          "line": 244,
                          "column": 8
                        },
                        "end": {
                          "line": 244,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 9085,
                        "end": 9125,
                        "loc": {
                          "start": {
                            "line": 244,
                            "column": 8
                          },
                          "end": {
                            "line": 244,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 9085,
                          "end": 9117,
                          "loc": {
                            "start": {
                              "line": 244,
                              "column": 8
                            },
                            "end": {
                              "line": 244,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 9085,
                            "end": 9099,
                            "loc": {
                              "start": {
                                "line": 244,
                                "column": 8
                              },
                              "end": {
                                "line": 244,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 9085,
                              "end": 9089,
                              "loc": {
                                "start": {
                                  "line": 244,
                                  "column": 8
                                },
                                "end": {
                                  "line": 244,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9090,
                              "end": 9099,
                              "loc": {
                                "start": {
                                  "line": 244,
                                  "column": 13
                                },
                                "end": {
                                  "line": 244,
                                  "column": 22
                                }
                              },
                              "name": "modelData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9100,
                            "end": 9117,
                            "loc": {
                              "start": {
                                "line": 244,
                                "column": 23
                              },
                              "end": {
                                "line": 244,
                                "column": 40
                              }
                            },
                            "name": "_incrementalLevel"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 9120,
                          "end": 9125,
                          "loc": {
                            "start": {
                              "line": 244,
                              "column": 43
                            },
                            "end": {
                              "line": 244,
                              "column": 48
                            }
                          },
                          "name": "value"
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 9135,
                      "end": 9188,
                      "loc": {
                        "start": {
                          "line": 245,
                          "column": 8
                        },
                        "end": {
                          "line": 246,
                          "column": 42
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 9139,
                        "end": 9144,
                        "loc": {
                          "start": {
                            "line": 245,
                            "column": 12
                          },
                          "end": {
                            "line": 245,
                            "column": 17
                          }
                        },
                        "name": "value"
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 9158,
                        "end": 9188,
                        "loc": {
                          "start": {
                            "line": 246,
                            "column": 12
                          },
                          "end": {
                            "line": 246,
                            "column": 42
                          }
                        },
                        "expression": {
                          "type": "AwaitExpression",
                          "start": 9158,
                          "end": 9187,
                          "loc": {
                            "start": {
                              "line": 246,
                              "column": 12
                            },
                            "end": {
                              "line": 246,
                              "column": 41
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 9164,
                            "end": 9187,
                            "loc": {
                              "start": {
                                "line": 246,
                                "column": 18
                              },
                              "end": {
                                "line": 246,
                                "column": 41
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9164,
                              "end": 9185,
                              "loc": {
                                "start": {
                                  "line": 246,
                                  "column": 18
                                },
                                "end": {
                                  "line": 246,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 9164,
                                "end": 9168,
                                "loc": {
                                  "start": {
                                    "line": 246,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 246,
                                    "column": 22
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9169,
                                "end": 9185,
                                "loc": {
                                  "start": {
                                    "line": 246,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 246,
                                    "column": 39
                                  }
                                },
                                "name": "solveConstraints"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        },
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "note: solve constraints when turned on",
                          "start": 9190,
                          "end": 9230,
                          "loc": {
                            "start": {
                              "line": 246,
                              "column": 44
                            },
                            "end": {
                              "line": 246,
                              "column": 84
                            }
                          },
                          "range": [
                            9190,
                            9230
                          ]
                        }
                      ]
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " result: 0 - fail, 1 - well-defined, 2 - solved?",
                  "start": 8944,
                  "end": 8994,
                  "loc": {
                    "start": {
                      "line": 239,
                      "column": 8
                    },
                    "end": {
                      "line": 239,
                      "column": 58
                    }
                  },
                  "range": [
                    8944,
                    8994
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": " TODO show result somehow",
                  "start": 9003,
                  "end": 9030,
                  "loc": {
                    "start": {
                      "line": 240,
                      "column": 8
                    },
                    "end": {
                      "line": 240,
                      "column": 35
                    }
                  },
                  "range": [
                    9003,
                    9030
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 9242,
              "end": 9533,
              "loc": {
                "start": {
                  "line": 249,
                  "column": 4
                },
                "end": {
                  "line": 255,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9242,
                "end": 9259,
                "loc": {
                  "start": {
                    "line": 249,
                    "column": 4
                  },
                  "end": {
                    "line": 249,
                    "column": 21
                  }
                },
                "name": "autoconstraintAll",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9259,
                "end": 9533,
                "loc": {
                  "start": {
                    "line": 249,
                    "column": 21
                  },
                  "end": {
                    "line": 255,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 9262,
                  "end": 9533,
                  "loc": {
                    "start": {
                      "line": 249,
                      "column": 24
                    },
                    "end": {
                      "line": 255,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 9272,
                      "end": 9338,
                      "loc": {
                        "start": {
                          "line": 250,
                          "column": 8
                        },
                        "end": {
                          "line": 250,
                          "column": 74
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9276,
                          "end": 9337,
                          "loc": {
                            "start": {
                              "line": 250,
                              "column": 12
                            },
                            "end": {
                              "line": 250,
                              "column": 73
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9276,
                            "end": 9291,
                            "loc": {
                              "start": {
                                "line": 250,
                                "column": 12
                              },
                              "end": {
                                "line": 250,
                                "column": 27
                              }
                            },
                            "name": "constrGenerator"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 9294,
                            "end": 9337,
                            "loc": {
                              "start": {
                                "line": 250,
                                "column": 30
                              },
                              "end": {
                                "line": 250,
                                "column": 73
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 9298,
                              "end": 9317,
                              "loc": {
                                "start": {
                                  "line": 250,
                                  "column": 34
                                },
                                "end": {
                                  "line": 250,
                                  "column": 53
                                }
                              },
                              "name": "ConstraintGenerator"
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 9318,
                                "end": 9336,
                                "loc": {
                                  "start": {
                                    "line": 250,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 250,
                                    "column": 72
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 9318,
                                  "end": 9322,
                                  "loc": {
                                    "start": {
                                      "line": 250,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 250,
                                      "column": 58
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9323,
                                  "end": 9336,
                                  "loc": {
                                    "start": {
                                      "line": 250,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 250,
                                      "column": 72
                                    }
                                  },
                                  "name": "currentSketch"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 9347,
                      "end": 9413,
                      "loc": {
                        "start": {
                          "line": 251,
                          "column": 8
                        },
                        "end": {
                          "line": 251,
                          "column": 74
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9351,
                          "end": 9412,
                          "loc": {
                            "start": {
                              "line": 251,
                              "column": 12
                            },
                            "end": {
                              "line": 251,
                              "column": 73
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9351,
                            "end": 9365,
                            "loc": {
                              "start": {
                                "line": 251,
                                "column": 12
                              },
                              "end": {
                                "line": 251,
                                "column": 26
                              }
                            },
                            "name": "newConstraints"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 9368,
                            "end": 9412,
                            "loc": {
                              "start": {
                                "line": 251,
                                "column": 29
                              },
                              "end": {
                                "line": 251,
                                "column": 73
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9368,
                              "end": 9410,
                              "loc": {
                                "start": {
                                  "line": 251,
                                  "column": 29
                                },
                                "end": {
                                  "line": 251,
                                  "column": 71
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9368,
                                "end": 9383,
                                "loc": {
                                  "start": {
                                    "line": 251,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 251,
                                    "column": 44
                                  }
                                },
                                "name": "constrGenerator"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9384,
                                "end": 9410,
                                "loc": {
                                  "start": {
                                    "line": 251,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 251,
                                    "column": 71
                                  }
                                },
                                "name": "generateImpliedConstraints"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 9422,
                      "end": 9527,
                      "loc": {
                        "start": {
                          "line": 252,
                          "column": 8
                        },
                        "end": {
                          "line": 254,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 9422,
                        "end": 9526,
                        "loc": {
                          "start": {
                            "line": 252,
                            "column": 8
                          },
                          "end": {
                            "line": 254,
                            "column": 9
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 9422,
                          "end": 9434,
                          "loc": {
                            "start": {
                              "line": 252,
                              "column": 8
                            },
                            "end": {
                              "line": 252,
                              "column": 20
                            }
                          },
                          "name": "trackPromise"
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 9448,
                            "end": 9516,
                            "loc": {
                              "start": {
                                "line": 253,
                                "column": 12
                              },
                              "end": {
                                "line": 253,
                                "column": 80
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9448,
                              "end": 9478,
                              "loc": {
                                "start": {
                                  "line": 253,
                                  "column": 12
                                },
                                "end": {
                                  "line": 253,
                                  "column": 42
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 9448,
                                "end": 9466,
                                "loc": {
                                  "start": {
                                    "line": 253,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 253,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 9448,
                                  "end": 9452,
                                  "loc": {
                                    "start": {
                                      "line": 253,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 253,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9453,
                                  "end": 9466,
                                  "loc": {
                                    "start": {
                                      "line": 253,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 253,
                                      "column": 30
                                    }
                                  },
                                  "name": "currentSketch"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9467,
                                "end": 9478,
                                "loc": {
                                  "start": {
                                    "line": 253,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 253,
                                    "column": 42
                                  }
                                },
                                "name": "addToSketch"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 9479,
                                "end": 9493,
                                "loc": {
                                  "start": {
                                    "line": 253,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 253,
                                    "column": 57
                                  }
                                },
                                "name": "newConstraints"
                              },
                              {
                                "type": "ObjectExpression",
                                "start": 9495,
                                "end": 9515,
                                "loc": {
                                  "start": {
                                    "line": 253,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 253,
                                    "column": 79
                                  }
                                },
                                "properties": [
                                  {
                                    "type": "Property",
                                    "start": 9496,
                                    "end": 9514,
                                    "loc": {
                                      "start": {
                                        "line": 253,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 253,
                                        "column": 78
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 9496,
                                      "end": 9508,
                                      "loc": {
                                        "start": {
                                          "line": 253,
                                          "column": 60
                                        },
                                        "end": {
                                          "line": 253,
                                          "column": 72
                                        }
                                      },
                                      "name": "updateSketch"
                                    },
                                    "value": {
                                      "type": "Literal",
                                      "start": 9510,
                                      "end": 9514,
                                      "loc": {
                                        "start": {
                                          "line": 253,
                                          "column": 74
                                        },
                                        "end": {
                                          "line": 253,
                                          "column": 78
                                        }
                                      },
                                      "value": true,
                                      "rawValue": true,
                                      "raw": "true"
                                    },
                                    "kind": "init"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "note: solve constraints when turned on",
                  "start": 9190,
                  "end": 9230,
                  "loc": {
                    "start": {
                      "line": 246,
                      "column": 44
                    },
                    "end": {
                      "line": 246,
                      "column": 84
                    }
                  },
                  "range": [
                    9190,
                    9230
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 9539,
              "end": 11385,
              "loc": {
                "start": {
                  "line": 257,
                  "column": 4
                },
                "end": {
                  "line": 305,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9539,
                "end": 9559,
                "loc": {
                  "start": {
                    "line": 257,
                    "column": 4
                  },
                  "end": {
                    "line": 257,
                    "column": 24
                  }
                },
                "name": "moveUnderConstraints"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9559,
                "end": 11385,
                "loc": {
                  "start": {
                    "line": 257,
                    "column": 24
                  },
                  "end": {
                    "line": 305,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 9560,
                    "end": 9566,
                    "loc": {
                      "start": {
                        "line": 257,
                        "column": 25
                      },
                      "end": {
                        "line": 257,
                        "column": 31
                      }
                    },
                    "name": "object"
                  },
                  {
                    "type": "Identifier",
                    "start": 9568,
                    "end": 9574,
                    "loc": {
                      "start": {
                        "line": 257,
                        "column": 33
                      },
                      "end": {
                        "line": 257,
                        "column": 39
                      }
                    },
                    "name": "newPnt"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 9576,
                  "end": 11385,
                  "loc": {
                    "start": {
                      "line": 257,
                      "column": 41
                    },
                    "end": {
                      "line": 305,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "FunctionDeclaration",
                      "start": 9586,
                      "end": 9852,
                      "loc": {
                        "start": {
                          "line": 258,
                          "column": 8
                        },
                        "end": {
                          "line": 262,
                          "column": 9
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 9595,
                        "end": 9613,
                        "loc": {
                          "start": {
                            "line": 258,
                            "column": 17
                          },
                          "end": {
                            "line": 258,
                            "column": 35
                          }
                        },
                        "name": "updateSketchStates"
                      },
                      "generator": false,
                      "expression": false,
                      "async": false,
                      "params": [
                        {
                          "type": "Identifier",
                          "start": 9614,
                          "end": 9621,
                          "loc": {
                            "start": {
                              "line": 258,
                              "column": 36
                            },
                            "end": {
                              "line": 258,
                              "column": 43
                            }
                          },
                          "name": "objects"
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "start": 9623,
                        "end": 9852,
                        "loc": {
                          "start": {
                            "line": 258,
                            "column": 45
                          },
                          "end": {
                            "line": 262,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 9637,
                            "end": 9681,
                            "loc": {
                              "start": {
                                "line": 259,
                                "column": 12
                              },
                              "end": {
                                "line": 259,
                                "column": 56
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 9637,
                              "end": 9680,
                              "loc": {
                                "start": {
                                  "line": 259,
                                  "column": 12
                                },
                                "end": {
                                  "line": 259,
                                  "column": 55
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 9637,
                                "end": 9657,
                                "loc": {
                                  "start": {
                                    "line": 259,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 259,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 9637,
                                  "end": 9654,
                                  "loc": {
                                    "start": {
                                      "line": 259,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 259,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 9637,
                                    "end": 9641,
                                    "loc": {
                                      "start": {
                                        "line": 259,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 259,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9642,
                                    "end": 9654,
                                    "loc": {
                                      "start": {
                                        "line": 259,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 259,
                                        "column": 29
                                      }
                                    },
                                    "name": "sketchStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 9655,
                                  "end": 9656,
                                  "loc": {
                                    "start": {
                                      "line": 259,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 259,
                                      "column": 31
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 9660,
                                "end": 9680,
                                "loc": {
                                  "start": {
                                    "line": 259,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 259,
                                    "column": 55
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 9660,
                                  "end": 9677,
                                  "loc": {
                                    "start": {
                                      "line": 259,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 259,
                                      "column": 52
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 9660,
                                    "end": 9664,
                                    "loc": {
                                      "start": {
                                        "line": 259,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 259,
                                        "column": 39
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9665,
                                    "end": 9677,
                                    "loc": {
                                      "start": {
                                        "line": 259,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 259,
                                        "column": 52
                                      }
                                    },
                                    "name": "sketchStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 9678,
                                  "end": 9679,
                                  "loc": {
                                    "start": {
                                      "line": 259,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 259,
                                      "column": 54
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "computed": true
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 9694,
                            "end": 9747,
                            "loc": {
                              "start": {
                                "line": 260,
                                "column": 12
                              },
                              "end": {
                                "line": 260,
                                "column": 65
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 9694,
                              "end": 9746,
                              "loc": {
                                "start": {
                                  "line": 260,
                                  "column": 12
                                },
                                "end": {
                                  "line": 260,
                                  "column": 64
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 9694,
                                "end": 9714,
                                "loc": {
                                  "start": {
                                    "line": 260,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 260,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 9694,
                                  "end": 9711,
                                  "loc": {
                                    "start": {
                                      "line": 260,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 260,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 9694,
                                    "end": 9698,
                                    "loc": {
                                      "start": {
                                        "line": 260,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 260,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9699,
                                    "end": 9711,
                                    "loc": {
                                      "start": {
                                        "line": 260,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 260,
                                        "column": 29
                                      }
                                    },
                                    "name": "sketchStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 9712,
                                  "end": 9713,
                                  "loc": {
                                    "start": {
                                      "line": 260,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 260,
                                      "column": 31
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 9717,
                                "end": 9746,
                                "loc": {
                                  "start": {
                                    "line": 260,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 260,
                                    "column": 64
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9717,
                                  "end": 9744,
                                  "loc": {
                                    "start": {
                                      "line": 260,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 260,
                                      "column": 62
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 9717,
                                    "end": 9735,
                                    "loc": {
                                      "start": {
                                        "line": 260,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 260,
                                        "column": 53
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9717,
                                      "end": 9721,
                                      "loc": {
                                        "start": {
                                          "line": 260,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 260,
                                          "column": 39
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9722,
                                      "end": 9735,
                                      "loc": {
                                        "start": {
                                          "line": 260,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 260,
                                          "column": 53
                                        }
                                      },
                                      "name": "currentSketch"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9736,
                                    "end": 9744,
                                    "loc": {
                                      "start": {
                                        "line": 260,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 260,
                                        "column": 62
                                      }
                                    },
                                    "name": "getState"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 9760,
                            "end": 9842,
                            "loc": {
                              "start": {
                                "line": 261,
                                "column": 12
                              },
                              "end": {
                                "line": 261,
                                "column": 94
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 9760,
                              "end": 9841,
                              "loc": {
                                "start": {
                                  "line": 261,
                                  "column": 12
                                },
                                "end": {
                                  "line": 261,
                                  "column": 93
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 9760,
                                "end": 9774,
                                "loc": {
                                  "start": {
                                    "line": 261,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 261,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 9760,
                                  "end": 9764,
                                  "loc": {
                                    "start": {
                                      "line": 261,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 261,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9765,
                                  "end": 9774,
                                  "loc": {
                                    "start": {
                                      "line": 261,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 261,
                                      "column": 26
                                    }
                                  },
                                  "name": "stateDiff"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 9777,
                                "end": 9841,
                                "loc": {
                                  "start": {
                                    "line": 261,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 261,
                                    "column": 93
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9777,
                                  "end": 9822,
                                  "loc": {
                                    "start": {
                                      "line": 261,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 261,
                                      "column": 74
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 9777,
                                    "end": 9795,
                                    "loc": {
                                      "start": {
                                        "line": 261,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 261,
                                        "column": 47
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9777,
                                      "end": 9781,
                                      "loc": {
                                        "start": {
                                          "line": 261,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 261,
                                          "column": 33
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9782,
                                      "end": 9795,
                                      "loc": {
                                        "start": {
                                          "line": 261,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 261,
                                          "column": 47
                                        }
                                      },
                                      "name": "currentSketch"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9796,
                                    "end": 9822,
                                    "loc": {
                                      "start": {
                                        "line": 261,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 261,
                                        "column": 74
                                      }
                                    },
                                    "name": "getStateLinearContinuation"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 9823,
                                    "end": 9840,
                                    "loc": {
                                      "start": {
                                        "line": 261,
                                        "column": 75
                                      },
                                      "end": {
                                        "line": 261,
                                        "column": 92
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9823,
                                      "end": 9827,
                                      "loc": {
                                        "start": {
                                          "line": 261,
                                          "column": 75
                                        },
                                        "end": {
                                          "line": 261,
                                          "column": 79
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9828,
                                      "end": 9840,
                                      "loc": {
                                        "start": {
                                          "line": 261,
                                          "column": 80
                                        },
                                        "end": {
                                          "line": 261,
                                          "column": 92
                                        }
                                      },
                                      "name": "sketchStates"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "start": 9862,
                      "end": 9999,
                      "loc": {
                        "start": {
                          "line": 264,
                          "column": 8
                        },
                        "end": {
                          "line": 267,
                          "column": 9
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 9871,
                        "end": 9888,
                        "loc": {
                          "start": {
                            "line": 264,
                            "column": 17
                          },
                          "end": {
                            "line": 264,
                            "column": 34
                          }
                        },
                        "name": "updateMouseStates"
                      },
                      "generator": false,
                      "expression": false,
                      "async": false,
                      "params": [],
                      "body": {
                        "type": "BlockStatement",
                        "start": 9891,
                        "end": 9999,
                        "loc": {
                          "start": {
                            "line": 264,
                            "column": 37
                          },
                          "end": {
                            "line": 267,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 9905,
                            "end": 9947,
                            "loc": {
                              "start": {
                                "line": 265,
                                "column": 12
                              },
                              "end": {
                                "line": 265,
                                "column": 54
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 9905,
                              "end": 9946,
                              "loc": {
                                "start": {
                                  "line": 265,
                                  "column": 12
                                },
                                "end": {
                                  "line": 265,
                                  "column": 53
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 9905,
                                "end": 9924,
                                "loc": {
                                  "start": {
                                    "line": 265,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 265,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 9905,
                                  "end": 9921,
                                  "loc": {
                                    "start": {
                                      "line": 265,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 265,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 9905,
                                    "end": 9909,
                                    "loc": {
                                      "start": {
                                        "line": 265,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 265,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9910,
                                    "end": 9921,
                                    "loc": {
                                      "start": {
                                        "line": 265,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 265,
                                        "column": 28
                                      }
                                    },
                                    "name": "mouseStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 9922,
                                  "end": 9923,
                                  "loc": {
                                    "start": {
                                      "line": 265,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 265,
                                      "column": 30
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 9927,
                                "end": 9946,
                                "loc": {
                                  "start": {
                                    "line": 265,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 265,
                                    "column": 53
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 9927,
                                  "end": 9943,
                                  "loc": {
                                    "start": {
                                      "line": 265,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 265,
                                      "column": 50
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 9927,
                                    "end": 9931,
                                    "loc": {
                                      "start": {
                                        "line": 265,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 265,
                                        "column": 38
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9932,
                                    "end": 9943,
                                    "loc": {
                                      "start": {
                                        "line": 265,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 265,
                                        "column": 50
                                      }
                                    },
                                    "name": "mouseStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 9944,
                                  "end": 9945,
                                  "loc": {
                                    "start": {
                                      "line": 265,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 265,
                                      "column": 52
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "computed": true
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 9960,
                            "end": 9989,
                            "loc": {
                              "start": {
                                "line": 266,
                                "column": 12
                              },
                              "end": {
                                "line": 266,
                                "column": 41
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 9960,
                              "end": 9988,
                              "loc": {
                                "start": {
                                  "line": 266,
                                  "column": 12
                                },
                                "end": {
                                  "line": 266,
                                  "column": 40
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 9960,
                                "end": 9979,
                                "loc": {
                                  "start": {
                                    "line": 266,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 266,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 9960,
                                  "end": 9976,
                                  "loc": {
                                    "start": {
                                      "line": 266,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 266,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 9960,
                                    "end": 9964,
                                    "loc": {
                                      "start": {
                                        "line": 266,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 266,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9965,
                                    "end": 9976,
                                    "loc": {
                                      "start": {
                                        "line": 266,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 266,
                                        "column": 28
                                      }
                                    },
                                    "name": "mouseStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 9977,
                                  "end": 9978,
                                  "loc": {
                                    "start": {
                                      "line": 266,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 266,
                                      "column": 30
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 9982,
                                "end": 9988,
                                "loc": {
                                  "start": {
                                    "line": 266,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 266,
                                    "column": 40
                                  }
                                },
                                "name": "newPnt"
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "start": 10009,
                      "end": 10216,
                      "loc": {
                        "start": {
                          "line": 269,
                          "column": 8
                        },
                        "end": {
                          "line": 273,
                          "column": 9
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 10018,
                        "end": 10036,
                        "loc": {
                          "start": {
                            "line": 269,
                            "column": 17
                          },
                          "end": {
                            "line": 269,
                            "column": 35
                          }
                        },
                        "name": "getAffectedObjects"
                      },
                      "generator": false,
                      "expression": false,
                      "async": false,
                      "params": [
                        {
                          "type": "Identifier",
                          "start": 10037,
                          "end": 10043,
                          "loc": {
                            "start": {
                              "line": 269,
                              "column": 36
                            },
                            "end": {
                              "line": 269,
                              "column": 42
                            }
                          },
                          "name": "object"
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "start": 10045,
                        "end": 10216,
                        "loc": {
                          "start": {
                            "line": 269,
                            "column": 44
                          },
                          "end": {
                            "line": 273,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 10059,
                            "end": 10111,
                            "loc": {
                              "start": {
                                "line": 270,
                                "column": 12
                              },
                              "end": {
                                "line": 270,
                                "column": 64
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 10063,
                                "end": 10110,
                                "loc": {
                                  "start": {
                                    "line": 270,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 270,
                                    "column": 63
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 10063,
                                  "end": 10070,
                                  "loc": {
                                    "start": {
                                      "line": 270,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 270,
                                      "column": 23
                                    }
                                  },
                                  "name": "objects"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 10073,
                                  "end": 10110,
                                  "loc": {
                                    "start": {
                                      "line": 270,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 270,
                                      "column": 63
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 10073,
                                    "end": 10102,
                                    "loc": {
                                      "start": {
                                        "line": 270,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 270,
                                        "column": 55
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 10073,
                                      "end": 10079,
                                      "loc": {
                                        "start": {
                                          "line": 270,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 270,
                                          "column": 32
                                        }
                                      },
                                      "name": "Sketch"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10080,
                                      "end": 10102,
                                      "loc": {
                                        "start": {
                                          "line": 270,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 270,
                                          "column": 55
                                        }
                                      },
                                      "name": "ForObjectsWithChildren"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 10103,
                                      "end": 10109,
                                      "loc": {
                                        "start": {
                                          "line": 270,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 270,
                                          "column": 62
                                        }
                                      },
                                      "name": "object"
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 10124,
                            "end": 10178,
                            "loc": {
                              "start": {
                                "line": 271,
                                "column": 12
                              },
                              "end": {
                                "line": 271,
                                "column": 66
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 10124,
                              "end": 10177,
                              "loc": {
                                "start": {
                                  "line": 271,
                                  "column": 12
                                },
                                "end": {
                                  "line": 271,
                                  "column": 65
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 10124,
                                "end": 10131,
                                "loc": {
                                  "start": {
                                    "line": 271,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 271,
                                    "column": 19
                                  }
                                },
                                "name": "objects"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 10134,
                                "end": 10177,
                                "loc": {
                                  "start": {
                                    "line": 271,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 271,
                                    "column": 65
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 10134,
                                  "end": 10148,
                                  "loc": {
                                    "start": {
                                      "line": 271,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 271,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 10134,
                                    "end": 10141,
                                    "loc": {
                                      "start": {
                                        "line": 271,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 271,
                                        "column": 29
                                      }
                                    },
                                    "name": "objects"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10142,
                                    "end": 10148,
                                    "loc": {
                                      "start": {
                                        "line": 271,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 271,
                                        "column": 36
                                      }
                                    },
                                    "name": "filter"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ArrowFunctionExpression",
                                    "start": 10149,
                                    "end": 10176,
                                    "loc": {
                                      "start": {
                                        "line": 271,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 271,
                                        "column": 64
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": true,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 10149,
                                        "end": 10152,
                                        "loc": {
                                          "start": {
                                            "line": 271,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 271,
                                            "column": 40
                                          }
                                        },
                                        "name": "arg"
                                      }
                                    ],
                                    "body": {
                                      "type": "BinaryExpression",
                                      "start": 10156,
                                      "end": 10176,
                                      "loc": {
                                        "start": {
                                          "line": 271,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 271,
                                          "column": 64
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 10156,
                                        "end": 10159,
                                        "loc": {
                                          "start": {
                                            "line": 271,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 271,
                                            "column": 47
                                          }
                                        },
                                        "name": "arg"
                                      },
                                      "operator": "instanceof",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 10171,
                                        "end": 10176,
                                        "loc": {
                                          "start": {
                                            "line": 271,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 271,
                                            "column": 64
                                          }
                                        },
                                        "name": "Point"
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 10191,
                            "end": 10206,
                            "loc": {
                              "start": {
                                "line": 272,
                                "column": 12
                              },
                              "end": {
                                "line": 272,
                                "column": 27
                              }
                            },
                            "argument": {
                              "type": "Identifier",
                              "start": 10198,
                              "end": 10205,
                              "loc": {
                                "start": {
                                  "line": 272,
                                  "column": 19
                                },
                                "end": {
                                  "line": 272,
                                  "column": 26
                                }
                              },
                              "name": "objects"
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 10226,
                      "end": 10270,
                      "loc": {
                        "start": {
                          "line": 275,
                          "column": 8
                        },
                        "end": {
                          "line": 276,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 10230,
                        "end": 10249,
                        "loc": {
                          "start": {
                            "line": 275,
                            "column": 12
                          },
                          "end": {
                            "line": 275,
                            "column": 31
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 10231,
                          "end": 10249,
                          "loc": {
                            "start": {
                              "line": 275,
                              "column": 13
                            },
                            "end": {
                              "line": 275,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 10231,
                            "end": 10235,
                            "loc": {
                              "start": {
                                "line": 275,
                                "column": 13
                              },
                              "end": {
                                "line": 275,
                                "column": 17
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10236,
                            "end": 10249,
                            "loc": {
                              "start": {
                                "line": 275,
                                "column": 18
                              },
                              "end": {
                                "line": 275,
                                "column": 31
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 10263,
                        "end": 10270,
                        "loc": {
                          "start": {
                            "line": 276,
                            "column": 12
                          },
                          "end": {
                            "line": 276,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 10280,
                      "end": 10321,
                      "loc": {
                        "start": {
                          "line": 278,
                          "column": 8
                        },
                        "end": {
                          "line": 278,
                          "column": 49
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 10284,
                          "end": 10320,
                          "loc": {
                            "start": {
                              "line": 278,
                              "column": 12
                            },
                            "end": {
                              "line": 278,
                              "column": 48
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 10284,
                            "end": 10291,
                            "loc": {
                              "start": {
                                "line": 278,
                                "column": 12
                              },
                              "end": {
                                "line": 278,
                                "column": 19
                              }
                            },
                            "name": "objects"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 10294,
                            "end": 10320,
                            "loc": {
                              "start": {
                                "line": 278,
                                "column": 22
                              },
                              "end": {
                                "line": 278,
                                "column": 48
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 10294,
                              "end": 10312,
                              "loc": {
                                "start": {
                                  "line": 278,
                                  "column": 22
                                },
                                "end": {
                                  "line": 278,
                                  "column": 40
                                }
                              },
                              "name": "getAffectedObjects"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 10313,
                                "end": 10319,
                                "loc": {
                                  "start": {
                                    "line": 278,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 278,
                                    "column": 47
                                  }
                                },
                                "name": "object"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 10331,
                      "end": 10378,
                      "loc": {
                        "start": {
                          "line": 280,
                          "column": 8
                        },
                        "end": {
                          "line": 280,
                          "column": 55
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 10335,
                        "end": 10369,
                        "loc": {
                          "start": {
                            "line": 280,
                            "column": 12
                          },
                          "end": {
                            "line": 280,
                            "column": 46
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 10335,
                          "end": 10353,
                          "loc": {
                            "start": {
                              "line": 280,
                              "column": 12
                            },
                            "end": {
                              "line": 280,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 10335,
                            "end": 10339,
                            "loc": {
                              "start": {
                                "line": 280,
                                "column": 12
                              },
                              "end": {
                                "line": 280,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10340,
                            "end": 10353,
                            "loc": {
                              "start": {
                                "line": 280,
                                "column": 17
                              },
                              "end": {
                                "line": 280,
                                "column": 30
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 10354,
                          "end": 10369,
                          "loc": {
                            "start": {
                              "line": 280,
                              "column": 31
                            },
                            "end": {
                              "line": 280,
                              "column": 46
                            }
                          },
                          "name": "solveInProgress"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 10371,
                        "end": 10378,
                        "loc": {
                          "start": {
                            "line": 280,
                            "column": 48
                          },
                          "end": {
                            "line": 280,
                            "column": 55
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 10387,
                      "end": 10429,
                      "loc": {
                        "start": {
                          "line": 281,
                          "column": 8
                        },
                        "end": {
                          "line": 281,
                          "column": 50
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 10387,
                        "end": 10428,
                        "loc": {
                          "start": {
                            "line": 281,
                            "column": 8
                          },
                          "end": {
                            "line": 281,
                            "column": 49
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 10387,
                          "end": 10421,
                          "loc": {
                            "start": {
                              "line": 281,
                              "column": 8
                            },
                            "end": {
                              "line": 281,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 10387,
                            "end": 10405,
                            "loc": {
                              "start": {
                                "line": 281,
                                "column": 8
                              },
                              "end": {
                                "line": 281,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 10387,
                              "end": 10391,
                              "loc": {
                                "start": {
                                  "line": 281,
                                  "column": 8
                                },
                                "end": {
                                  "line": 281,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10392,
                              "end": 10405,
                              "loc": {
                                "start": {
                                  "line": 281,
                                  "column": 13
                                },
                                "end": {
                                  "line": 281,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10406,
                            "end": 10421,
                            "loc": {
                              "start": {
                                "line": 281,
                                "column": 27
                              },
                              "end": {
                                "line": 281,
                                "column": 42
                              }
                            },
                            "name": "solveInProgress"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 10424,
                          "end": 10428,
                          "loc": {
                            "start": {
                              "line": 281,
                              "column": 45
                            },
                            "end": {
                              "line": 281,
                              "column": 49
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " hack: prevent multiple concurrent requests to the server",
                          "start": 10430,
                          "end": 10489,
                          "loc": {
                            "start": {
                              "line": 281,
                              "column": 51
                            },
                            "end": {
                              "line": 281,
                              "column": 110
                            }
                          },
                          "range": [
                            10430,
                            10489
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 10499,
                      "end": 10528,
                      "loc": {
                        "start": {
                          "line": 283,
                          "column": 8
                        },
                        "end": {
                          "line": 283,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 10499,
                        "end": 10527,
                        "loc": {
                          "start": {
                            "line": 283,
                            "column": 8
                          },
                          "end": {
                            "line": 283,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 10499,
                          "end": 10521,
                          "loc": {
                            "start": {
                              "line": 283,
                              "column": 8
                            },
                            "end": {
                              "line": 283,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 10499,
                            "end": 10516,
                            "loc": {
                              "start": {
                                "line": 283,
                                "column": 8
                              },
                              "end": {
                                "line": 283,
                                "column": 25
                              }
                            },
                            "name": "updateMouseStates",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10517,
                            "end": 10521,
                            "loc": {
                              "start": {
                                "line": 283,
                                "column": 26
                              },
                              "end": {
                                "line": 283,
                                "column": 30
                              }
                            },
                            "name": "call"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 10522,
                            "end": 10526,
                            "loc": {
                              "start": {
                                "line": 283,
                                "column": 31
                              },
                              "end": {
                                "line": 283,
                                "column": 35
                              }
                            }
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " hack: prevent multiple concurrent requests to the server",
                          "start": 10430,
                          "end": 10489,
                          "loc": {
                            "start": {
                              "line": 281,
                              "column": 51
                            },
                            "end": {
                              "line": 281,
                              "column": 110
                            }
                          },
                          "range": [
                            10430,
                            10489
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 10537,
                      "end": 10606,
                      "loc": {
                        "start": {
                          "line": 284,
                          "column": 8
                        },
                        "end": {
                          "line": 284,
                          "column": 77
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 10541,
                          "end": 10605,
                          "loc": {
                            "start": {
                              "line": 284,
                              "column": 12
                            },
                            "end": {
                              "line": 284,
                              "column": 76
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 10541,
                            "end": 10550,
                            "loc": {
                              "start": {
                                "line": 284,
                                "column": 12
                              },
                              "end": {
                                "line": 284,
                                "column": 21
                              }
                            },
                            "name": "mouseDiff"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 10553,
                            "end": 10605,
                            "loc": {
                              "start": {
                                "line": 284,
                                "column": 24
                              },
                              "end": {
                                "line": 284,
                                "column": 76
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 10553,
                              "end": 10584,
                              "loc": {
                                "start": {
                                  "line": 284,
                                  "column": 24
                                },
                                "end": {
                                  "line": 284,
                                  "column": 55
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 10553,
                                "end": 10580,
                                "loc": {
                                  "start": {
                                    "line": 284,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 284,
                                    "column": 51
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 10553,
                                  "end": 10578,
                                  "loc": {
                                    "start": {
                                      "line": 284,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 284,
                                      "column": 49
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 10553,
                                    "end": 10572,
                                    "loc": {
                                      "start": {
                                        "line": 284,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 284,
                                        "column": 43
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 10553,
                                      "end": 10569,
                                      "loc": {
                                        "start": {
                                          "line": 284,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 284,
                                          "column": 40
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 10553,
                                        "end": 10557,
                                        "loc": {
                                          "start": {
                                            "line": 284,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 284,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 10558,
                                        "end": 10569,
                                        "loc": {
                                          "start": {
                                            "line": 284,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 284,
                                            "column": 40
                                          }
                                        },
                                        "name": "mouseStates"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Literal",
                                      "start": 10570,
                                      "end": 10571,
                                      "loc": {
                                        "start": {
                                          "line": 284,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 284,
                                          "column": 42
                                        }
                                      },
                                      "value": 0,
                                      "rawValue": 0,
                                      "raw": "0"
                                    },
                                    "computed": true
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10573,
                                    "end": 10578,
                                    "loc": {
                                      "start": {
                                        "line": 284,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 284,
                                        "column": 49
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10581,
                                "end": 10584,
                                "loc": {
                                  "start": {
                                    "line": 284,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 284,
                                    "column": 55
                                  }
                                },
                                "name": "sub"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 10585,
                                "end": 10604,
                                "loc": {
                                  "start": {
                                    "line": 284,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 284,
                                    "column": 75
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10585,
                                  "end": 10601,
                                  "loc": {
                                    "start": {
                                      "line": 284,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 284,
                                      "column": 72
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 10585,
                                    "end": 10589,
                                    "loc": {
                                      "start": {
                                        "line": 284,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 284,
                                        "column": 60
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10590,
                                    "end": 10601,
                                    "loc": {
                                      "start": {
                                        "line": 284,
                                        "column": 61
                                      },
                                      "end": {
                                        "line": 284,
                                        "column": 72
                                      }
                                    },
                                    "name": "mouseStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 10602,
                                  "end": 10603,
                                  "loc": {
                                    "start": {
                                      "line": 284,
                                      "column": 73
                                    },
                                    "end": {
                                      "line": 284,
                                      "column": 74
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                "computed": true
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 10615,
                      "end": 11379,
                      "loc": {
                        "start": {
                          "line": 285,
                          "column": 8
                        },
                        "end": {
                          "line": 304,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 10619,
                        "end": 10643,
                        "loc": {
                          "start": {
                            "line": 285,
                            "column": 12
                          },
                          "end": {
                            "line": 285,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "CallExpression",
                          "start": 10619,
                          "end": 10637,
                          "loc": {
                            "start": {
                              "line": 285,
                              "column": 12
                            },
                            "end": {
                              "line": 285,
                              "column": 30
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 10619,
                            "end": 10635,
                            "loc": {
                              "start": {
                                "line": 285,
                                "column": 12
                              },
                              "end": {
                                "line": 285,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 10619,
                              "end": 10628,
                              "loc": {
                                "start": {
                                  "line": 285,
                                  "column": 12
                                },
                                "end": {
                                  "line": 285,
                                  "column": 21
                                }
                              },
                              "name": "mouseDiff"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10629,
                              "end": 10635,
                              "loc": {
                                "start": {
                                  "line": 285,
                                  "column": 22
                                },
                                "end": {
                                  "line": 285,
                                  "column": 28
                                }
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "operator": ">",
                        "right": {
                          "type": "Literal",
                          "start": 10640,
                          "end": 10643,
                          "loc": {
                            "start": {
                              "line": 285,
                              "column": 33
                            },
                            "end": {
                              "line": 285,
                              "column": 36
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0.0"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 10645,
                        "end": 11250,
                        "loc": {
                          "start": {
                            "line": 285,
                            "column": 38
                          },
                          "end": {
                            "line": 300,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 10659,
                            "end": 10720,
                            "loc": {
                              "start": {
                                "line": 286,
                                "column": 12
                              },
                              "end": {
                                "line": 286,
                                "column": 73
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 10663,
                              "end": 10676,
                              "loc": {
                                "start": {
                                  "line": 286,
                                  "column": 16
                                },
                                "end": {
                                  "line": 286,
                                  "column": 29
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 10663,
                                "end": 10671,
                                "loc": {
                                  "start": {
                                    "line": 286,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 286,
                                    "column": 24
                                  }
                                },
                                "name": "logLevel"
                              },
                              "operator": ">=",
                              "right": {
                                "type": "Literal",
                                "start": 10675,
                                "end": 10676,
                                "loc": {
                                  "start": {
                                    "line": 286,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 286,
                                    "column": 29
                                  }
                                },
                                "value": 5,
                                "rawValue": 5,
                                "raw": "5"
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 10678,
                              "end": 10720,
                              "loc": {
                                "start": {
                                  "line": 286,
                                  "column": 31
                                },
                                "end": {
                                  "line": 286,
                                  "column": 73
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 10678,
                                "end": 10719,
                                "loc": {
                                  "start": {
                                    "line": 286,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 286,
                                    "column": 72
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 10678,
                                  "end": 10689,
                                  "loc": {
                                    "start": {
                                      "line": 286,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 286,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 10678,
                                    "end": 10685,
                                    "loc": {
                                      "start": {
                                        "line": 286,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 286,
                                        "column": 38
                                      }
                                    },
                                    "name": "console"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10686,
                                    "end": 10689,
                                    "loc": {
                                      "start": {
                                        "line": 286,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 286,
                                        "column": 42
                                      }
                                    },
                                    "name": "log"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 10690,
                                    "end": 10705,
                                    "loc": {
                                      "start": {
                                        "line": 286,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 286,
                                        "column": 58
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 10690,
                                      "end": 10703,
                                      "loc": {
                                        "start": {
                                          "line": 286,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 286,
                                          "column": 56
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 10690,
                                        "end": 10699,
                                        "loc": {
                                          "start": {
                                            "line": 286,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 286,
                                            "column": 52
                                          }
                                        },
                                        "name": "Timestamp"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 10700,
                                        "end": 10703,
                                        "loc": {
                                          "start": {
                                            "line": 286,
                                            "column": 53
                                          },
                                          "end": {
                                            "line": 286,
                                            "column": 56
                                          }
                                        },
                                        "name": "get"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 10707,
                                    "end": 10718,
                                    "loc": {
                                      "start": {
                                        "line": 286,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 286,
                                        "column": 71
                                      }
                                    },
                                    "value": "MUC solve",
                                    "rawValue": "MUC solve",
                                    "raw": "'MUC solve'"
                                  }
                                ]
                              }
                            },
                            "alternate": null
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 10733,
                            "end": 10883,
                            "loc": {
                              "start": {
                                "line": 287,
                                "column": 12
                              },
                              "end": {
                                "line": 291,
                                "column": 15
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 10737,
                                "end": 10882,
                                "loc": {
                                  "start": {
                                    "line": 287,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 291,
                                    "column": 14
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 10737,
                                  "end": 10747,
                                  "loc": {
                                    "start": {
                                      "line": 287,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 287,
                                      "column": 26
                                    }
                                  },
                                  "name": "statements"
                                },
                                "init": {
                                  "type": "ArrayExpression",
                                  "start": 10750,
                                  "end": 10882,
                                  "loc": {
                                    "start": {
                                      "line": 287,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 291,
                                      "column": 14
                                    }
                                  },
                                  "elements": [
                                    {
                                      "type": "CallExpression",
                                      "start": 10751,
                                      "end": 10881,
                                      "loc": {
                                        "start": {
                                          "line": 287,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 291,
                                          "column": 13
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 10751,
                                        "end": 10770,
                                        "loc": {
                                          "start": {
                                            "line": 287,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 287,
                                            "column": 49
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 10751,
                                          "end": 10758,
                                          "loc": {
                                            "start": {
                                              "line": 287,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 287,
                                              "column": 37
                                            }
                                          },
                                          "name": "Interop"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 10759,
                                          "end": 10770,
                                          "loc": {
                                            "start": {
                                              "line": 287,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 287,
                                              "column": 49
                                            }
                                          },
                                          "name": "MoveObjects"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "start": 10788,
                                          "end": 10806,
                                          "loc": {
                                            "start": {
                                              "line": 288,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 288,
                                              "column": 34
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 10788,
                                            "end": 10792,
                                            "loc": {
                                              "start": {
                                                "line": 288,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 288,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 10793,
                                            "end": 10806,
                                            "loc": {
                                              "start": {
                                                "line": 288,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 288,
                                                "column": 34
                                              }
                                            },
                                            "name": "currentSketch"
                                          },
                                          "computed": false
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 10824,
                                          "end": 10840,
                                          "loc": {
                                            "start": {
                                              "line": 289,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 289,
                                              "column": 32
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 10824,
                                            "end": 10828,
                                            "loc": {
                                              "start": {
                                                "line": 289,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 289,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 10829,
                                            "end": 10840,
                                            "loc": {
                                              "start": {
                                                "line": 289,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 289,
                                                "column": 32
                                              }
                                            },
                                            "name": "movedObject"
                                          },
                                          "computed": false
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 10858,
                                          "end": 10867,
                                          "loc": {
                                            "start": {
                                              "line": 290,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 290,
                                              "column": 25
                                            }
                                          },
                                          "name": "mouseDiff"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 10896,
                            "end": 11211,
                            "loc": {
                              "start": {
                                "line": 292,
                                "column": 12
                              },
                              "end": {
                                "line": 298,
                                "column": 15
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 10900,
                                "end": 11210,
                                "loc": {
                                  "start": {
                                    "line": 292,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 298,
                                    "column": 14
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 10900,
                                  "end": 10901,
                                  "loc": {
                                    "start": {
                                      "line": 292,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 292,
                                      "column": 17
                                    }
                                  },
                                  "name": "p"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 10904,
                                  "end": 11210,
                                  "loc": {
                                    "start": {
                                      "line": 292,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 298,
                                      "column": 14
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 10904,
                                    "end": 11127,
                                    "loc": {
                                      "start": {
                                        "line": 292,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 296,
                                        "column": 20
                                      }
                                    },
                                    "object": {
                                      "type": "CallExpression",
                                      "start": 10904,
                                      "end": 11121,
                                      "loc": {
                                        "start": {
                                          "line": 292,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 296,
                                          "column": 14
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 10904,
                                        "end": 10982,
                                        "loc": {
                                          "start": {
                                            "line": 292,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 293,
                                            "column": 17
                                          }
                                        },
                                        "object": {
                                          "type": "CallExpression",
                                          "start": 10904,
                                          "end": 10964,
                                          "loc": {
                                            "start": {
                                              "line": 292,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 292,
                                              "column": 80
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 10904,
                                            "end": 10939,
                                            "loc": {
                                              "start": {
                                                "line": 292,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 292,
                                                "column": 55
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 10904,
                                              "end": 10922,
                                              "loc": {
                                                "start": {
                                                  "line": 292,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 292,
                                                  "column": 38
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 10904,
                                                "end": 10908,
                                                "loc": {
                                                  "start": {
                                                    "line": 292,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 292,
                                                    "column": 24
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10909,
                                                "end": 10922,
                                                "loc": {
                                                  "start": {
                                                    "line": 292,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 292,
                                                    "column": 38
                                                  }
                                                },
                                                "name": "currentSketch"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 10923,
                                              "end": 10939,
                                              "loc": {
                                                "start": {
                                                  "line": 292,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 292,
                                                  "column": 55
                                                }
                                              },
                                              "name": "updateFromServer"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "MemberExpression",
                                              "start": 10940,
                                              "end": 10951,
                                              "loc": {
                                                "start": {
                                                  "line": 292,
                                                  "column": 56
                                                },
                                                "end": {
                                                  "line": 292,
                                                  "column": 67
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 10940,
                                                "end": 10944,
                                                "loc": {
                                                  "start": {
                                                    "line": 292,
                                                    "column": 56
                                                  },
                                                  "end": {
                                                    "line": 292,
                                                    "column": 60
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10945,
                                                "end": 10951,
                                                "loc": {
                                                  "start": {
                                                    "line": 292,
                                                    "column": 61
                                                  },
                                                  "end": {
                                                    "line": 292,
                                                    "column": 67
                                                  }
                                                },
                                                "name": "server"
                                              },
                                              "computed": false
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 10953,
                                              "end": 10963,
                                              "loc": {
                                                "start": {
                                                  "line": 292,
                                                  "column": 69
                                                },
                                                "end": {
                                                  "line": 292,
                                                  "column": 79
                                                }
                                              },
                                              "name": "statements"
                                            }
                                          ]
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 10978,
                                          "end": 10982,
                                          "loc": {
                                            "start": {
                                              "line": 293,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 293,
                                              "column": 17
                                            }
                                          },
                                          "name": "then"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "ArrowFunctionExpression",
                                          "start": 10983,
                                          "end": 11120,
                                          "loc": {
                                            "start": {
                                              "line": 293,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 296,
                                              "column": 13
                                            }
                                          },
                                          "id": null,
                                          "generator": false,
                                          "expression": false,
                                          "async": false,
                                          "params": [],
                                          "body": {
                                            "type": "BlockStatement",
                                            "start": 10989,
                                            "end": 11120,
                                            "loc": {
                                              "start": {
                                                "line": 293,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 296,
                                                "column": 13
                                              }
                                            },
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "start": 11007,
                                                "end": 11046,
                                                "loc": {
                                                  "start": {
                                                    "line": 294,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 294,
                                                    "column": 55
                                                  }
                                                },
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "start": 11007,
                                                  "end": 11045,
                                                  "loc": {
                                                    "start": {
                                                      "line": 294,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 294,
                                                      "column": 54
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 11007,
                                                    "end": 11030,
                                                    "loc": {
                                                      "start": {
                                                        "line": 294,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 294,
                                                        "column": 39
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 11007,
                                                      "end": 11025,
                                                      "loc": {
                                                        "start": {
                                                          "line": 294,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 294,
                                                          "column": 34
                                                        }
                                                      },
                                                      "name": "updateSketchStates"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 11026,
                                                      "end": 11030,
                                                      "loc": {
                                                        "start": {
                                                          "line": 294,
                                                          "column": 35
                                                        },
                                                        "end": {
                                                          "line": 294,
                                                          "column": 39
                                                        }
                                                      },
                                                      "name": "call"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "ThisExpression",
                                                      "start": 11031,
                                                      "end": 11035,
                                                      "loc": {
                                                        "start": {
                                                          "line": 294,
                                                          "column": 40
                                                        },
                                                        "end": {
                                                          "line": 294,
                                                          "column": 44
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "start": 11037,
                                                      "end": 11044,
                                                      "loc": {
                                                        "start": {
                                                          "line": 294,
                                                          "column": 46
                                                        },
                                                        "end": {
                                                          "line": 294,
                                                          "column": 53
                                                        }
                                                      },
                                                      "name": "objects"
                                                    }
                                                  ]
                                                }
                                              },
                                              {
                                                "type": "ExpressionStatement",
                                                "start": 11063,
                                                "end": 11106,
                                                "loc": {
                                                  "start": {
                                                    "line": 295,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 295,
                                                    "column": 59
                                                  }
                                                },
                                                "expression": {
                                                  "type": "AssignmentExpression",
                                                  "start": 11063,
                                                  "end": 11105,
                                                  "loc": {
                                                    "start": {
                                                      "line": 295,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 295,
                                                      "column": 58
                                                    }
                                                  },
                                                  "operator": "=",
                                                  "left": {
                                                    "type": "MemberExpression",
                                                    "start": 11063,
                                                    "end": 11097,
                                                    "loc": {
                                                      "start": {
                                                        "line": 295,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 295,
                                                        "column": 50
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "start": 11063,
                                                      "end": 11081,
                                                      "loc": {
                                                        "start": {
                                                          "line": 295,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 295,
                                                          "column": 34
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "ThisExpression",
                                                        "start": 11063,
                                                        "end": 11067,
                                                        "loc": {
                                                          "start": {
                                                            "line": 295,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 295,
                                                            "column": 20
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 11068,
                                                        "end": 11081,
                                                        "loc": {
                                                          "start": {
                                                            "line": 295,
                                                            "column": 21
                                                          },
                                                          "end": {
                                                            "line": 295,
                                                            "column": 34
                                                          }
                                                        },
                                                        "name": "currentSketch"
                                                      },
                                                      "computed": false
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 11082,
                                                      "end": 11097,
                                                      "loc": {
                                                        "start": {
                                                          "line": 295,
                                                          "column": 35
                                                        },
                                                        "end": {
                                                          "line": 295,
                                                          "column": 50
                                                        }
                                                      },
                                                      "name": "solveInProgress"
                                                    },
                                                    "computed": false
                                                  },
                                                  "right": {
                                                    "type": "Literal",
                                                    "start": 11100,
                                                    "end": 11105,
                                                    "loc": {
                                                      "start": {
                                                        "line": 295,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 295,
                                                        "column": 58
                                                      }
                                                    },
                                                    "value": false,
                                                    "rawValue": false,
                                                    "raw": "false"
                                                  }
                                                }
                                              }
                                            ]
                                          }
                                        }
                                      ]
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11122,
                                      "end": 11127,
                                      "loc": {
                                        "start": {
                                          "line": 296,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 296,
                                          "column": 20
                                        }
                                      },
                                      "name": "catch"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "ArrowFunctionExpression",
                                      "start": 11128,
                                      "end": 11209,
                                      "loc": {
                                        "start": {
                                          "line": 296,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 298,
                                          "column": 13
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": false,
                                      "async": false,
                                      "params": [],
                                      "body": {
                                        "type": "BlockStatement",
                                        "start": 11134,
                                        "end": 11209,
                                        "loc": {
                                          "start": {
                                            "line": 296,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 298,
                                            "column": 13
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "start": 11152,
                                            "end": 11195,
                                            "loc": {
                                              "start": {
                                                "line": 297,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 297,
                                                "column": 59
                                              }
                                            },
                                            "expression": {
                                              "type": "AssignmentExpression",
                                              "start": 11152,
                                              "end": 11194,
                                              "loc": {
                                                "start": {
                                                  "line": 297,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 297,
                                                  "column": 58
                                                }
                                              },
                                              "operator": "=",
                                              "left": {
                                                "type": "MemberExpression",
                                                "start": 11152,
                                                "end": 11186,
                                                "loc": {
                                                  "start": {
                                                    "line": 297,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 297,
                                                    "column": 50
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 11152,
                                                  "end": 11170,
                                                  "loc": {
                                                    "start": {
                                                      "line": 297,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 297,
                                                      "column": 34
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 11152,
                                                    "end": 11156,
                                                    "loc": {
                                                      "start": {
                                                        "line": 297,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 297,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 11157,
                                                    "end": 11170,
                                                    "loc": {
                                                      "start": {
                                                        "line": 297,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 297,
                                                        "column": 34
                                                      }
                                                    },
                                                    "name": "currentSketch"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 11171,
                                                  "end": 11186,
                                                  "loc": {
                                                    "start": {
                                                      "line": 297,
                                                      "column": 35
                                                    },
                                                    "end": {
                                                      "line": 297,
                                                      "column": 50
                                                    }
                                                  },
                                                  "name": "solveInProgress"
                                                },
                                                "computed": false
                                              },
                                              "right": {
                                                "type": "Literal",
                                                "start": 11189,
                                                "end": 11194,
                                                "loc": {
                                                  "start": {
                                                    "line": 297,
                                                    "column": 53
                                                  },
                                                  "end": {
                                                    "line": 297,
                                                    "column": 58
                                                  }
                                                },
                                                "value": false,
                                                "rawValue": false,
                                                "raw": "false"
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11224,
                            "end": 11240,
                            "loc": {
                              "start": {
                                "line": 299,
                                "column": 12
                              },
                              "end": {
                                "line": 299,
                                "column": 28
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 11224,
                              "end": 11239,
                              "loc": {
                                "start": {
                                  "line": 299,
                                  "column": 12
                                },
                                "end": {
                                  "line": 299,
                                  "column": 27
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 11224,
                                "end": 11236,
                                "loc": {
                                  "start": {
                                    "line": 299,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 299,
                                    "column": 24
                                  }
                                },
                                "name": "trackPromise"
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 11237,
                                  "end": 11238,
                                  "loc": {
                                    "start": {
                                      "line": 299,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 299,
                                      "column": 26
                                    }
                                  },
                                  "name": "p"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "start": 11264,
                        "end": 11379,
                        "loc": {
                          "start": {
                            "line": 301,
                            "column": 13
                          },
                          "end": {
                            "line": 304,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 11326,
                            "end": 11369,
                            "loc": {
                              "start": {
                                "line": 303,
                                "column": 12
                              },
                              "end": {
                                "line": 303,
                                "column": 55
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 11326,
                              "end": 11368,
                              "loc": {
                                "start": {
                                  "line": 303,
                                  "column": 12
                                },
                                "end": {
                                  "line": 303,
                                  "column": 54
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 11326,
                                "end": 11360,
                                "loc": {
                                  "start": {
                                    "line": 303,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 303,
                                    "column": 46
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11326,
                                  "end": 11344,
                                  "loc": {
                                    "start": {
                                      "line": 303,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 303,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11326,
                                    "end": 11330,
                                    "loc": {
                                      "start": {
                                        "line": 303,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 303,
                                        "column": 16
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11331,
                                    "end": 11344,
                                    "loc": {
                                      "start": {
                                        "line": 303,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 303,
                                        "column": 30
                                      }
                                    },
                                    "name": "currentSketch"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11345,
                                  "end": 11360,
                                  "loc": {
                                    "start": {
                                      "line": 303,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 303,
                                      "column": 46
                                    }
                                  },
                                  "name": "solveInProgress"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "right": {
                                "type": "Literal",
                                "start": 11363,
                                "end": 11368,
                                "loc": {
                                  "start": {
                                    "line": 303,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 303,
                                    "column": 54
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              },
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": "avoid doing anything on null drag",
                                "start": 11278,
                                "end": 11313,
                                "loc": {
                                  "start": {
                                    "line": 302,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 302,
                                    "column": 47
                                  }
                                },
                                "range": [
                                  11278,
                                  11313
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 11392,
              "end": 11789,
              "loc": {
                "start": {
                  "line": 308,
                  "column": 4
                },
                "end": {
                  "line": 314,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 11392,
                "end": 11401,
                "loc": {
                  "start": {
                    "line": 308,
                    "column": 4
                  },
                  "end": {
                    "line": 308,
                    "column": 13
                  }
                },
                "name": "newSketch"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 11401,
                "end": 11789,
                "loc": {
                  "start": {
                    "line": 308,
                    "column": 13
                  },
                  "end": {
                    "line": 314,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 11402,
                    "end": 11410,
                    "loc": {
                      "start": {
                        "line": 308,
                        "column": 14
                      },
                      "end": {
                        "line": 308,
                        "column": 22
                      }
                    },
                    "name": "position"
                  },
                  {
                    "type": "Identifier",
                    "start": 11412,
                    "end": 11422,
                    "loc": {
                      "start": {
                        "line": 308,
                        "column": 24
                      },
                      "end": {
                        "line": 308,
                        "column": 34
                      }
                    },
                    "name": "quaternion"
                  },
                  {
                    "type": "Identifier",
                    "start": 11424,
                    "end": 11428,
                    "loc": {
                      "start": {
                        "line": 308,
                        "column": 36
                      },
                      "end": {
                        "line": 308,
                        "column": 40
                      }
                    },
                    "name": "item"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 11430,
                  "end": 11789,
                  "loc": {
                    "start": {
                      "line": 308,
                      "column": 42
                    },
                    "end": {
                      "line": 314,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 11440,
                      "end": 11537,
                      "loc": {
                        "start": {
                          "line": 309,
                          "column": 8
                        },
                        "end": {
                          "line": 309,
                          "column": 105
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 11444,
                          "end": 11536,
                          "loc": {
                            "start": {
                              "line": 309,
                              "column": 12
                            },
                            "end": {
                              "line": 309,
                              "column": 104
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 11444,
                            "end": 11449,
                            "loc": {
                              "start": {
                                "line": 309,
                                "column": 12
                              },
                              "end": {
                                "line": 309,
                                "column": 17
                              }
                            },
                            "name": "coSys"
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 11452,
                            "end": 11536,
                            "loc": {
                              "start": {
                                "line": 309,
                                "column": 20
                              },
                              "end": {
                                "line": 309,
                                "column": 104
                              }
                            },
                            "elements": [
                              {
                                "type": "NewExpression",
                                "start": 11453,
                                "end": 11479,
                                "loc": {
                                  "start": {
                                    "line": 309,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 309,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11457,
                                  "end": 11470,
                                  "loc": {
                                    "start": {
                                      "line": 309,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 309,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11457,
                                    "end": 11462,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 30
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11463,
                                    "end": 11470,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 38
                                      }
                                    },
                                    "name": "Vector3"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 11471,
                                    "end": 11472,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 40
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 11474,
                                    "end": 11475,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 43
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 11477,
                                    "end": 11478,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 46
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                ]
                              },
                              {
                                "type": "NewExpression",
                                "start": 11481,
                                "end": 11507,
                                "loc": {
                                  "start": {
                                    "line": 309,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 309,
                                    "column": 75
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11485,
                                  "end": 11498,
                                  "loc": {
                                    "start": {
                                      "line": 309,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 309,
                                      "column": 66
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11485,
                                    "end": 11490,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 58
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11491,
                                    "end": 11498,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 66
                                      }
                                    },
                                    "name": "Vector3"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 11499,
                                    "end": 11500,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 67
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 68
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 11502,
                                    "end": 11503,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 71
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 11505,
                                    "end": 11506,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 73
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 74
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                ]
                              },
                              {
                                "type": "NewExpression",
                                "start": 11509,
                                "end": 11535,
                                "loc": {
                                  "start": {
                                    "line": 309,
                                    "column": 77
                                  },
                                  "end": {
                                    "line": 309,
                                    "column": 103
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11513,
                                  "end": 11526,
                                  "loc": {
                                    "start": {
                                      "line": 309,
                                      "column": 81
                                    },
                                    "end": {
                                      "line": 309,
                                      "column": 94
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11513,
                                    "end": 11518,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 81
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 86
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11519,
                                    "end": 11526,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 87
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 94
                                      }
                                    },
                                    "name": "Vector3"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 11527,
                                    "end": 11528,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 95
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 96
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 11530,
                                    "end": 11531,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 98
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 99
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 11533,
                                    "end": 11534,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 101
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 102
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11546,
                      "end": 11602,
                      "loc": {
                        "start": {
                          "line": 310,
                          "column": 8
                        },
                        "end": {
                          "line": 310,
                          "column": 64
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 11546,
                        "end": 11601,
                        "loc": {
                          "start": {
                            "line": 310,
                            "column": 8
                          },
                          "end": {
                            "line": 310,
                            "column": 63
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 11546,
                          "end": 11559,
                          "loc": {
                            "start": {
                              "line": 310,
                              "column": 8
                            },
                            "end": {
                              "line": 310,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 11546,
                            "end": 11551,
                            "loc": {
                              "start": {
                                "line": 310,
                                "column": 8
                              },
                              "end": {
                                "line": 310,
                                "column": 13
                              }
                            },
                            "name": "coSys"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11552,
                            "end": 11559,
                            "loc": {
                              "start": {
                                "line": 310,
                                "column": 14
                              },
                              "end": {
                                "line": 310,
                                "column": 21
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 11560,
                            "end": 11600,
                            "loc": {
                              "start": {
                                "line": 310,
                                "column": 22
                              },
                              "end": {
                                "line": 310,
                                "column": 62
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 11560,
                                "end": 11564,
                                "loc": {
                                  "start": {
                                    "line": 310,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 310,
                                    "column": 26
                                  }
                                },
                                "name": "axis"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 11568,
                              "end": 11600,
                              "loc": {
                                "start": {
                                  "line": 310,
                                  "column": 30
                                },
                                "end": {
                                  "line": 310,
                                  "column": 62
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 11568,
                                "end": 11588,
                                "loc": {
                                  "start": {
                                    "line": 310,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 310,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 11568,
                                  "end": 11572,
                                  "loc": {
                                    "start": {
                                      "line": 310,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 310,
                                      "column": 34
                                    }
                                  },
                                  "name": "axis"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11573,
                                  "end": 11588,
                                  "loc": {
                                    "start": {
                                      "line": 310,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 310,
                                      "column": 50
                                    }
                                  },
                                  "name": "applyQuaternion"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 11589,
                                  "end": 11599,
                                  "loc": {
                                    "start": {
                                      "line": 310,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 310,
                                      "column": 61
                                    }
                                  },
                                  "name": "quaternion"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11611,
                      "end": 11635,
                      "loc": {
                        "start": {
                          "line": 311,
                          "column": 8
                        },
                        "end": {
                          "line": 311,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 11611,
                        "end": 11634,
                        "loc": {
                          "start": {
                            "line": 311,
                            "column": 8
                          },
                          "end": {
                            "line": 311,
                            "column": 31
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 11611,
                          "end": 11624,
                          "loc": {
                            "start": {
                              "line": 311,
                              "column": 8
                            },
                            "end": {
                              "line": 311,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 11611,
                            "end": 11616,
                            "loc": {
                              "start": {
                                "line": 311,
                                "column": 8
                              },
                              "end": {
                                "line": 311,
                                "column": 13
                              }
                            },
                            "name": "coSys"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11617,
                            "end": 11624,
                            "loc": {
                              "start": {
                                "line": 311,
                                "column": 14
                              },
                              "end": {
                                "line": 311,
                                "column": 21
                              }
                            },
                            "name": "unshift"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 11625,
                            "end": 11633,
                            "loc": {
                              "start": {
                                "line": 311,
                                "column": 22
                              },
                              "end": {
                                "line": 311,
                                "column": 30
                              }
                            },
                            "name": "position"
                          }
                        ]
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 11644,
                      "end": 11689,
                      "loc": {
                        "start": {
                          "line": 312,
                          "column": 8
                        },
                        "end": {
                          "line": 312,
                          "column": 53
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 11648,
                          "end": 11688,
                          "loc": {
                            "start": {
                              "line": 312,
                              "column": 12
                            },
                            "end": {
                              "line": 312,
                              "column": 52
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 11648,
                            "end": 11657,
                            "loc": {
                              "start": {
                                "line": 312,
                                "column": 12
                              },
                              "end": {
                                "line": 312,
                                "column": 21
                              }
                            },
                            "name": "sketchSet"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 11660,
                            "end": 11688,
                            "loc": {
                              "start": {
                                "line": 312,
                                "column": 24
                              },
                              "end": {
                                "line": 312,
                                "column": 52
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 11660,
                              "end": 11682,
                              "loc": {
                                "start": {
                                  "line": 312,
                                  "column": 24
                                },
                                "end": {
                                  "line": 312,
                                  "column": 46
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 11660,
                                "end": 11666,
                                "loc": {
                                  "start": {
                                    "line": 312,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 312,
                                    "column": 30
                                  }
                                },
                                "name": "Sketch"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11667,
                                "end": 11682,
                                "loc": {
                                  "start": {
                                    "line": 312,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 312,
                                    "column": 46
                                  }
                                },
                                "name": "FindSketchSetOf"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 11683,
                                "end": 11687,
                                "loc": {
                                  "start": {
                                    "line": 312,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 312,
                                    "column": 51
                                  }
                                },
                                "name": "item"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 11698,
                      "end": 11783,
                      "loc": {
                        "start": {
                          "line": 313,
                          "column": 8
                        },
                        "end": {
                          "line": 313,
                          "column": 93
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 11705,
                        "end": 11782,
                        "loc": {
                          "start": {
                            "line": 313,
                            "column": 15
                          },
                          "end": {
                            "line": 313,
                            "column": 92
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 11705,
                          "end": 11769,
                          "loc": {
                            "start": {
                              "line": 313,
                              "column": 15
                            },
                            "end": {
                              "line": 313,
                              "column": 79
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 11705,
                            "end": 11761,
                            "loc": {
                              "start": {
                                "line": 313,
                                "column": 15
                              },
                              "end": {
                                "line": 313,
                                "column": 71
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 11705,
                              "end": 11750,
                              "loc": {
                                "start": {
                                  "line": 313,
                                  "column": 15
                                },
                                "end": {
                                  "line": 313,
                                  "column": 60
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 11705,
                                "end": 11735,
                                "loc": {
                                  "start": {
                                    "line": 313,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 313,
                                    "column": 45
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11705,
                                  "end": 11722,
                                  "loc": {
                                    "start": {
                                      "line": 313,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 313,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11705,
                                    "end": 11712,
                                    "loc": {
                                      "start": {
                                        "line": 313,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 313,
                                        "column": 22
                                      }
                                    },
                                    "name": "Interop"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11713,
                                    "end": 11722,
                                    "loc": {
                                      "start": {
                                        "line": 313,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 313,
                                        "column": 32
                                      }
                                    },
                                    "name": "AddSketch"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 11723,
                                    "end": 11727,
                                    "loc": {
                                      "start": {
                                        "line": 313,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 313,
                                        "column": 37
                                      }
                                    },
                                    "name": "item"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 11729,
                                    "end": 11734,
                                    "loc": {
                                      "start": {
                                        "line": 313,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 313,
                                        "column": 44
                                      }
                                    },
                                    "name": "coSys"
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11736,
                                "end": 11750,
                                "loc": {
                                  "start": {
                                    "line": 313,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 313,
                                    "column": 60
                                  }
                                },
                                "name": "parseToChildOf"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 11751,
                                "end": 11760,
                                "loc": {
                                  "start": {
                                    "line": 313,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 313,
                                    "column": 70
                                  }
                                },
                                "name": "sketchSet"
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11762,
                            "end": 11769,
                            "loc": {
                              "start": {
                                "line": 313,
                                "column": 72
                              },
                              "end": {
                                "line": 313,
                                "column": 79
                              }
                            },
                            "name": "execute"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 11770,
                            "end": 11781,
                            "loc": {
                              "start": {
                                "line": 313,
                                "column": 80
                              },
                              "end": {
                                "line": 313,
                                "column": 91
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11770,
                              "end": 11774,
                              "loc": {
                                "start": {
                                  "line": 313,
                                  "column": 80
                                },
                                "end": {
                                  "line": 313,
                                  "column": 84
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11775,
                              "end": 11781,
                              "loc": {
                                "start": {
                                  "line": 313,
                                  "column": 85
                                },
                                "end": {
                                  "line": 313,
                                  "column": 91
                                }
                              },
                              "name": "server"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 11795,
              "end": 11980,
              "loc": {
                "start": {
                  "line": 316,
                  "column": 4
                },
                "end": {
                  "line": 319,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 11795,
                "end": 11813,
                "loc": {
                  "start": {
                    "line": 316,
                    "column": 4
                  },
                  "end": {
                    "line": 316,
                    "column": 22
                  }
                },
                "name": "newSketchFromPlane"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 11813,
                "end": 11980,
                "loc": {
                  "start": {
                    "line": 316,
                    "column": 22
                  },
                  "end": {
                    "line": 319,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 11814,
                    "end": 11819,
                    "loc": {
                      "start": {
                        "line": 316,
                        "column": 23
                      },
                      "end": {
                        "line": 316,
                        "column": 28
                      }
                    },
                    "name": "plane"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 11821,
                  "end": 11980,
                  "loc": {
                    "start": {
                      "line": 316,
                      "column": 30
                    },
                    "end": {
                      "line": 319,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 11831,
                      "end": 11877,
                      "loc": {
                        "start": {
                          "line": 317,
                          "column": 8
                        },
                        "end": {
                          "line": 317,
                          "column": 54
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 11835,
                          "end": 11876,
                          "loc": {
                            "start": {
                              "line": 317,
                              "column": 12
                            },
                            "end": {
                              "line": 317,
                              "column": 53
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 11835,
                            "end": 11844,
                            "loc": {
                              "start": {
                                "line": 317,
                                "column": 12
                              },
                              "end": {
                                "line": 317,
                                "column": 21
                              }
                            },
                            "name": "sketchSet"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 11847,
                            "end": 11876,
                            "loc": {
                              "start": {
                                "line": 317,
                                "column": 24
                              },
                              "end": {
                                "line": 317,
                                "column": 53
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 11847,
                              "end": 11869,
                              "loc": {
                                "start": {
                                  "line": 317,
                                  "column": 24
                                },
                                "end": {
                                  "line": 317,
                                  "column": 46
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 11847,
                                "end": 11853,
                                "loc": {
                                  "start": {
                                    "line": 317,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 317,
                                    "column": 30
                                  }
                                },
                                "name": "Sketch"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11854,
                                "end": 11869,
                                "loc": {
                                  "start": {
                                    "line": 317,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 317,
                                    "column": 46
                                  }
                                },
                                "name": "FindSketchSetOf"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 11870,
                                "end": 11875,
                                "loc": {
                                  "start": {
                                    "line": 317,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 317,
                                    "column": 52
                                  }
                                },
                                "name": "plane"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 11886,
                      "end": 11974,
                      "loc": {
                        "start": {
                          "line": 318,
                          "column": 8
                        },
                        "end": {
                          "line": 318,
                          "column": 96
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 11893,
                        "end": 11973,
                        "loc": {
                          "start": {
                            "line": 318,
                            "column": 15
                          },
                          "end": {
                            "line": 318,
                            "column": 95
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 11893,
                          "end": 11960,
                          "loc": {
                            "start": {
                              "line": 318,
                              "column": 15
                            },
                            "end": {
                              "line": 318,
                              "column": 82
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 11893,
                            "end": 11952,
                            "loc": {
                              "start": {
                                "line": 318,
                                "column": 15
                              },
                              "end": {
                                "line": 318,
                                "column": 74
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 11893,
                              "end": 11941,
                              "loc": {
                                "start": {
                                  "line": 318,
                                  "column": 15
                                },
                                "end": {
                                  "line": 318,
                                  "column": 63
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 11893,
                                "end": 11926,
                                "loc": {
                                  "start": {
                                    "line": 318,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 318,
                                    "column": 48
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11893,
                                  "end": 11919,
                                  "loc": {
                                    "start": {
                                      "line": 318,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 318,
                                      "column": 41
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11893,
                                    "end": 11900,
                                    "loc": {
                                      "start": {
                                        "line": 318,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 318,
                                        "column": 22
                                      }
                                    },
                                    "name": "Interop"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11901,
                                    "end": 11919,
                                    "loc": {
                                      "start": {
                                        "line": 318,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 318,
                                        "column": 41
                                      }
                                    },
                                    "name": "AddSketchFromPlane"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 11920,
                                    "end": 11925,
                                    "loc": {
                                      "start": {
                                        "line": 318,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 318,
                                        "column": 47
                                      }
                                    },
                                    "name": "plane"
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11927,
                                "end": 11941,
                                "loc": {
                                  "start": {
                                    "line": 318,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 318,
                                    "column": 63
                                  }
                                },
                                "name": "parseToChildOf"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 11942,
                                "end": 11951,
                                "loc": {
                                  "start": {
                                    "line": 318,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 318,
                                    "column": 73
                                  }
                                },
                                "name": "sketchSet"
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11953,
                            "end": 11960,
                            "loc": {
                              "start": {
                                "line": 318,
                                "column": 75
                              },
                              "end": {
                                "line": 318,
                                "column": 82
                              }
                            },
                            "name": "execute"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 11961,
                            "end": 11972,
                            "loc": {
                              "start": {
                                "line": 318,
                                "column": 83
                              },
                              "end": {
                                "line": 318,
                                "column": 94
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11961,
                              "end": 11965,
                              "loc": {
                                "start": {
                                  "line": 318,
                                  "column": 83
                                },
                                "end": {
                                  "line": 318,
                                  "column": 87
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11966,
                              "end": 11972,
                              "loc": {
                                "start": {
                                  "line": 318,
                                  "column": 88
                                },
                                "end": {
                                  "line": 318,
                                  "column": 94
                                }
                              },
                              "name": "server"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 11986,
              "end": 12501,
              "loc": {
                "start": {
                  "line": 321,
                  "column": 4
                },
                "end": {
                  "line": 333,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 11986,
                "end": 11998,
                "loc": {
                  "start": {
                    "line": 321,
                    "column": 4
                  },
                  "end": {
                    "line": 321,
                    "column": 16
                  }
                },
                "name": "deleteSketch"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 11998,
                "end": 12501,
                "loc": {
                  "start": {
                    "line": 321,
                    "column": 16
                  },
                  "end": {
                    "line": 333,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 12001,
                  "end": 12501,
                  "loc": {
                    "start": {
                      "line": 321,
                      "column": 19
                    },
                    "end": {
                      "line": 333,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 12011,
                      "end": 12126,
                      "loc": {
                        "start": {
                          "line": 322,
                          "column": 8
                        },
                        "end": {
                          "line": 323,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 12015,
                        "end": 12105,
                        "loc": {
                          "start": {
                            "line": 322,
                            "column": 12
                          },
                          "end": {
                            "line": 322,
                            "column": 102
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "CallExpression",
                          "start": 12016,
                          "end": 12105,
                          "loc": {
                            "start": {
                              "line": 322,
                              "column": 13
                            },
                            "end": {
                              "line": 322,
                              "column": 102
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 12016,
                            "end": 12023,
                            "loc": {
                              "start": {
                                "line": 322,
                                "column": 13
                              },
                              "end": {
                                "line": 322,
                                "column": 20
                              }
                            },
                            "name": "confirm"
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 12024,
                              "end": 12104,
                              "loc": {
                                "start": {
                                  "line": 322,
                                  "column": 21
                                },
                                "end": {
                                  "line": 322,
                                  "column": 101
                                }
                              },
                              "value": "Do you really want to irreversibly delete current sketch and all its contents?",
                              "rawValue": "Do you really want to irreversibly delete current sketch and all its contents?",
                              "raw": "\"Do you really want to irreversibly delete current sketch and all its contents?\""
                            }
                          ]
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 12119,
                        "end": 12126,
                        "loc": {
                          "start": {
                            "line": 323,
                            "column": 12
                          },
                          "end": {
                            "line": 323,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 12135,
                      "end": 12167,
                      "loc": {
                        "start": {
                          "line": 324,
                          "column": 8
                        },
                        "end": {
                          "line": 324,
                          "column": 40
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12139,
                          "end": 12166,
                          "loc": {
                            "start": {
                              "line": 324,
                              "column": 12
                            },
                            "end": {
                              "line": 324,
                              "column": 39
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12139,
                            "end": 12145,
                            "loc": {
                              "start": {
                                "line": 324,
                                "column": 12
                              },
                              "end": {
                                "line": 324,
                                "column": 18
                              }
                            },
                            "name": "sketch"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 12148,
                            "end": 12166,
                            "loc": {
                              "start": {
                                "line": 324,
                                "column": 21
                              },
                              "end": {
                                "line": 324,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12148,
                              "end": 12152,
                              "loc": {
                                "start": {
                                  "line": 324,
                                  "column": 21
                                },
                                "end": {
                                  "line": 324,
                                  "column": 25
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12153,
                              "end": 12166,
                              "loc": {
                                "start": {
                                  "line": 324,
                                  "column": 26
                                },
                                "end": {
                                  "line": 324,
                                  "column": 39
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 12176,
                      "end": 12208,
                      "loc": {
                        "start": {
                          "line": 325,
                          "column": 8
                        },
                        "end": {
                          "line": 326,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 12180,
                        "end": 12187,
                        "loc": {
                          "start": {
                            "line": 325,
                            "column": 12
                          },
                          "end": {
                            "line": 325,
                            "column": 19
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 12181,
                          "end": 12187,
                          "loc": {
                            "start": {
                              "line": 325,
                              "column": 13
                            },
                            "end": {
                              "line": 325,
                              "column": 19
                            }
                          },
                          "name": "sketch"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 12201,
                        "end": 12208,
                        "loc": {
                          "start": {
                            "line": 326,
                            "column": 12
                          },
                          "end": {
                            "line": 326,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12217,
                      "end": 12262,
                      "loc": {
                        "start": {
                          "line": 327,
                          "column": 8
                        },
                        "end": {
                          "line": 327,
                          "column": 53
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 12217,
                        "end": 12261,
                        "loc": {
                          "start": {
                            "line": 327,
                            "column": 8
                          },
                          "end": {
                            "line": 327,
                            "column": 52
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 12217,
                          "end": 12236,
                          "loc": {
                            "start": {
                              "line": 327,
                              "column": 8
                            },
                            "end": {
                              "line": 327,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 12217,
                            "end": 12221,
                            "loc": {
                              "start": {
                                "line": 327,
                                "column": 8
                              },
                              "end": {
                                "line": 327,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12222,
                            "end": 12236,
                            "loc": {
                              "start": {
                                "line": 327,
                                "column": 13
                              },
                              "end": {
                                "line": 327,
                                "column": 27
                              }
                            },
                            "name": "deselectSketch"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ObjectExpression",
                            "start": 12237,
                            "end": 12260,
                            "loc": {
                              "start": {
                                "line": 327,
                                "column": 28
                              },
                              "end": {
                                "line": 327,
                                "column": 51
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 12238,
                                "end": 12259,
                                "loc": {
                                  "start": {
                                    "line": 327,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 327,
                                    "column": 50
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 12238,
                                  "end": 12253,
                                  "loc": {
                                    "start": {
                                      "line": 327,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 327,
                                      "column": 44
                                    }
                                  },
                                  "name": "skipServerCalls"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 12255,
                                  "end": 12259,
                                  "loc": {
                                    "start": {
                                      "line": 327,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 327,
                                      "column": 50
                                    }
                                  },
                                  "value": true,
                                  "rawValue": true,
                                  "raw": "true"
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12271,
                      "end": 12304,
                      "loc": {
                        "start": {
                          "line": 328,
                          "column": 8
                        },
                        "end": {
                          "line": 328,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 12271,
                        "end": 12303,
                        "loc": {
                          "start": {
                            "line": 328,
                            "column": 8
                          },
                          "end": {
                            "line": 328,
                            "column": 40
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 12271,
                          "end": 12301,
                          "loc": {
                            "start": {
                              "line": 328,
                              "column": 8
                            },
                            "end": {
                              "line": 328,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 12271,
                            "end": 12283,
                            "loc": {
                              "start": {
                                "line": 328,
                                "column": 8
                              },
                              "end": {
                                "line": 328,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12271,
                              "end": 12277,
                              "loc": {
                                "start": {
                                  "line": 328,
                                  "column": 8
                                },
                                "end": {
                                  "line": 328,
                                  "column": 14
                                }
                              },
                              "name": "sketch"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12278,
                              "end": 12283,
                              "loc": {
                                "start": {
                                  "line": 328,
                                  "column": 15
                                },
                                "end": {
                                  "line": 328,
                                  "column": 20
                                }
                              },
                              "name": "__box"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12284,
                            "end": 12301,
                            "loc": {
                              "start": {
                                "line": 328,
                                "column": 21
                              },
                              "end": {
                                "line": 328,
                                "column": 38
                              }
                            },
                            "name": "removeInteraction"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 12313,
                      "end": 12495,
                      "loc": {
                        "start": {
                          "line": 329,
                          "column": 8
                        },
                        "end": {
                          "line": 332,
                          "column": 12
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 12320,
                        "end": 12494,
                        "loc": {
                          "start": {
                            "line": 329,
                            "column": 15
                          },
                          "end": {
                            "line": 332,
                            "column": 11
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 12320,
                          "end": 12332,
                          "loc": {
                            "start": {
                              "line": 329,
                              "column": 15
                            },
                            "end": {
                              "line": 329,
                              "column": 27
                            }
                          },
                          "name": "trackPromise"
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 12333,
                            "end": 12493,
                            "loc": {
                              "start": {
                                "line": 329,
                                "column": 28
                              },
                              "end": {
                                "line": 332,
                                "column": 10
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 12333,
                              "end": 12387,
                              "loc": {
                                "start": {
                                  "line": 329,
                                  "column": 28
                                },
                                "end": {
                                  "line": 329,
                                  "column": 82
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 12333,
                                "end": 12382,
                                "loc": {
                                  "start": {
                                    "line": 329,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 329,
                                    "column": 77
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 12333,
                                  "end": 12369,
                                  "loc": {
                                    "start": {
                                      "line": 329,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 329,
                                      "column": 64
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 12333,
                                    "end": 12361,
                                    "loc": {
                                      "start": {
                                        "line": 329,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 329,
                                        "column": 56
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 12333,
                                      "end": 12353,
                                      "loc": {
                                        "start": {
                                          "line": 329,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 329,
                                          "column": 48
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 12333,
                                        "end": 12340,
                                        "loc": {
                                          "start": {
                                            "line": 329,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 329,
                                            "column": 35
                                          }
                                        },
                                        "name": "Interop"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 12341,
                                        "end": 12353,
                                        "loc": {
                                          "start": {
                                            "line": 329,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 329,
                                            "column": 48
                                          }
                                        },
                                        "name": "RemoveSketch"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 12354,
                                        "end": 12360,
                                        "loc": {
                                          "start": {
                                            "line": 329,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 329,
                                            "column": 55
                                          }
                                        },
                                        "name": "sketch"
                                      }
                                    ]
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12362,
                                    "end": 12369,
                                    "loc": {
                                      "start": {
                                        "line": 329,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 329,
                                        "column": 64
                                      }
                                    },
                                    "name": "execute"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 12370,
                                    "end": 12381,
                                    "loc": {
                                      "start": {
                                        "line": 329,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 329,
                                        "column": 76
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 12370,
                                      "end": 12374,
                                      "loc": {
                                        "start": {
                                          "line": 329,
                                          "column": 65
                                        },
                                        "end": {
                                          "line": 329,
                                          "column": 69
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 12375,
                                      "end": 12381,
                                      "loc": {
                                        "start": {
                                          "line": 329,
                                          "column": 70
                                        },
                                        "end": {
                                          "line": 329,
                                          "column": 76
                                        }
                                      },
                                      "name": "server"
                                    },
                                    "computed": false
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12383,
                                "end": 12387,
                                "loc": {
                                  "start": {
                                    "line": 329,
                                    "column": 78
                                  },
                                  "end": {
                                    "line": 329,
                                    "column": 82
                                  }
                                },
                                "name": "then"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 12388,
                                "end": 12492,
                                "loc": {
                                  "start": {
                                    "line": 329,
                                    "column": 83
                                  },
                                  "end": {
                                    "line": 332,
                                    "column": 9
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 12394,
                                  "end": 12492,
                                  "loc": {
                                    "start": {
                                      "line": 329,
                                      "column": 89
                                    },
                                    "end": {
                                      "line": 332,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 12408,
                                      "end": 12454,
                                      "loc": {
                                        "start": {
                                          "line": 330,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 330,
                                          "column": 58
                                        }
                                      },
                                      "expression": {
                                        "type": "LogicalExpression",
                                        "start": 12408,
                                        "end": 12453,
                                        "loc": {
                                          "start": {
                                            "line": 330,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 330,
                                            "column": 57
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 12408,
                                          "end": 12421,
                                          "loc": {
                                            "start": {
                                              "line": 330,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 330,
                                              "column": 25
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 12408,
                                            "end": 12414,
                                            "loc": {
                                              "start": {
                                                "line": 330,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 330,
                                                "column": 18
                                              }
                                            },
                                            "name": "sketch"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 12415,
                                            "end": 12421,
                                            "loc": {
                                              "start": {
                                                "line": 330,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 330,
                                                "column": 25
                                              }
                                            },
                                            "name": "parent"
                                          },
                                          "computed": false
                                        },
                                        "operator": "&&",
                                        "right": {
                                          "type": "CallExpression",
                                          "start": 12425,
                                          "end": 12453,
                                          "loc": {
                                            "start": {
                                              "line": 330,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 330,
                                              "column": 57
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 12425,
                                            "end": 12445,
                                            "loc": {
                                              "start": {
                                                "line": 330,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 330,
                                                "column": 49
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 12425,
                                              "end": 12438,
                                              "loc": {
                                                "start": {
                                                  "line": 330,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 330,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 12425,
                                                "end": 12431,
                                                "loc": {
                                                  "start": {
                                                    "line": 330,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 330,
                                                    "column": 35
                                                  }
                                                },
                                                "name": "sketch"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 12432,
                                                "end": 12438,
                                                "loc": {
                                                  "start": {
                                                    "line": 330,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 330,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "parent"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 12439,
                                              "end": 12445,
                                              "loc": {
                                                "start": {
                                                  "line": 330,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 330,
                                                  "column": 49
                                                }
                                              },
                                              "name": "remove"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 12446,
                                              "end": 12452,
                                              "loc": {
                                                "start": {
                                                  "line": 330,
                                                  "column": 50
                                                },
                                                "end": {
                                                  "line": 330,
                                                  "column": 56
                                                }
                                              },
                                              "name": "sketch"
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 12467,
                                      "end": 12482,
                                      "loc": {
                                        "start": {
                                          "line": 331,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 331,
                                          "column": 27
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 12467,
                                        "end": 12481,
                                        "loc": {
                                          "start": {
                                            "line": 331,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 331,
                                            "column": 26
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 12467,
                                          "end": 12479,
                                          "loc": {
                                            "start": {
                                              "line": 331,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 331,
                                              "column": 24
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 12467,
                                            "end": 12471,
                                            "loc": {
                                              "start": {
                                                "line": 331,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 331,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 12472,
                                            "end": 12479,
                                            "loc": {
                                              "start": {
                                                "line": 331,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 331,
                                                "column": 24
                                              }
                                            },
                                            "name": "refresh"
                                          },
                                          "computed": false
                                        },
                                        "arguments": []
                                      }
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 12507,
              "end": 13023,
              "loc": {
                "start": {
                  "line": 335,
                  "column": 4
                },
                "end": {
                  "line": 345,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 12507,
                "end": 12533,
                "loc": {
                  "start": {
                    "line": 335,
                    "column": 4
                  },
                  "end": {
                    "line": 335,
                    "column": 30
                  }
                },
                "name": "switchToOrthographicCamera"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 12533,
                "end": 13023,
                "loc": {
                  "start": {
                    "line": 335,
                    "column": 30
                  },
                  "end": {
                    "line": 345,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 12534,
                    "end": 12538,
                    "loc": {
                      "start": {
                        "line": 335,
                        "column": 31
                      },
                      "end": {
                        "line": 335,
                        "column": 35
                      }
                    },
                    "name": "view"
                  },
                  {
                    "type": "Identifier",
                    "start": 12540,
                    "end": 12546,
                    "loc": {
                      "start": {
                        "line": 335,
                        "column": 37
                      },
                      "end": {
                        "line": 335,
                        "column": 43
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 12548,
                  "end": 13023,
                  "loc": {
                    "start": {
                      "line": 335,
                      "column": 45
                    },
                    "end": {
                      "line": 345,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 12558,
                      "end": 12599,
                      "loc": {
                        "start": {
                          "line": 336,
                          "column": 8
                        },
                        "end": {
                          "line": 336,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12558,
                        "end": 12598,
                        "loc": {
                          "start": {
                            "line": 336,
                            "column": 8
                          },
                          "end": {
                            "line": 336,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12558,
                          "end": 12582,
                          "loc": {
                            "start": {
                              "line": 336,
                              "column": 8
                            },
                            "end": {
                              "line": 336,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12558,
                            "end": 12562,
                            "loc": {
                              "start": {
                                "line": 336,
                                "column": 8
                              },
                              "end": {
                                "line": 336,
                                "column": 12
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12563,
                            "end": 12582,
                            "loc": {
                              "start": {
                                "line": 336,
                                "column": 13
                              },
                              "end": {
                                "line": 336,
                                "column": 32
                              }
                            },
                            "name": "perspectiveControls"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 12585,
                          "end": 12598,
                          "loc": {
                            "start": {
                              "line": 336,
                              "column": 35
                            },
                            "end": {
                              "line": 336,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12585,
                            "end": 12589,
                            "loc": {
                              "start": {
                                "line": 336,
                                "column": 35
                              },
                              "end": {
                                "line": 336,
                                "column": 39
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12590,
                            "end": 12598,
                            "loc": {
                              "start": {
                                "line": 336,
                                "column": 40
                              },
                              "end": {
                                "line": 336,
                                "column": 48
                              }
                            },
                            "name": "controls"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12608,
                      "end": 12663,
                      "loc": {
                        "start": {
                          "line": 337,
                          "column": 8
                        },
                        "end": {
                          "line": 337,
                          "column": 63
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12608,
                        "end": 12662,
                        "loc": {
                          "start": {
                            "line": 337,
                            "column": 8
                          },
                          "end": {
                            "line": 337,
                            "column": 62
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12608,
                          "end": 12619,
                          "loc": {
                            "start": {
                              "line": 337,
                              "column": 8
                            },
                            "end": {
                              "line": 337,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12608,
                            "end": 12612,
                            "loc": {
                              "start": {
                                "line": 337,
                                "column": 8
                              },
                              "end": {
                                "line": 337,
                                "column": 12
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12613,
                            "end": 12619,
                            "loc": {
                              "start": {
                                "line": 337,
                                "column": 13
                              },
                              "end": {
                                "line": 337,
                                "column": 19
                              }
                            },
                            "name": "camera"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 12622,
                          "end": 12662,
                          "loc": {
                            "start": {
                              "line": 337,
                              "column": 22
                            },
                            "end": {
                              "line": 337,
                              "column": 62
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 12626,
                            "end": 12650,
                            "loc": {
                              "start": {
                                "line": 337,
                                "column": 26
                              },
                              "end": {
                                "line": 337,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12626,
                              "end": 12631,
                              "loc": {
                                "start": {
                                  "line": 337,
                                  "column": 26
                                },
                                "end": {
                                  "line": 337,
                                  "column": 31
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12632,
                              "end": 12650,
                              "loc": {
                                "start": {
                                  "line": 337,
                                  "column": 32
                                },
                                "end": {
                                  "line": 337,
                                  "column": 50
                                }
                              },
                              "name": "OrthographicCamera"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 12651,
                              "end": 12652,
                              "loc": {
                                "start": {
                                  "line": 337,
                                  "column": 51
                                },
                                "end": {
                                  "line": 337,
                                  "column": 52
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            {
                              "type": "Literal",
                              "start": 12654,
                              "end": 12655,
                              "loc": {
                                "start": {
                                  "line": 337,
                                  "column": 54
                                },
                                "end": {
                                  "line": 337,
                                  "column": 55
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            {
                              "type": "Literal",
                              "start": 12657,
                              "end": 12658,
                              "loc": {
                                "start": {
                                  "line": 337,
                                  "column": 57
                                },
                                "end": {
                                  "line": 337,
                                  "column": 58
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            {
                              "type": "Literal",
                              "start": 12660,
                              "end": 12661,
                              "loc": {
                                "start": {
                                  "line": 337,
                                  "column": 60
                                },
                                "end": {
                                  "line": 337,
                                  "column": 61
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12672,
                      "end": 12730,
                      "loc": {
                        "start": {
                          "line": 338,
                          "column": 8
                        },
                        "end": {
                          "line": 338,
                          "column": 66
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 12672,
                        "end": 12729,
                        "loc": {
                          "start": {
                            "line": 338,
                            "column": 8
                          },
                          "end": {
                            "line": 338,
                            "column": 65
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 12672,
                          "end": 12691,
                          "loc": {
                            "start": {
                              "line": 338,
                              "column": 8
                            },
                            "end": {
                              "line": 338,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12672,
                            "end": 12678,
                            "loc": {
                              "start": {
                                "line": 338,
                                "column": 8
                              },
                              "end": {
                                "line": 338,
                                "column": 14
                              }
                            },
                            "name": "sketch"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12679,
                            "end": 12691,
                            "loc": {
                              "start": {
                                "line": 338,
                                "column": 15
                              },
                              "end": {
                                "line": 338,
                                "column": 27
                              }
                            },
                            "name": "localToWorld"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 12692,
                            "end": 12728,
                            "loc": {
                              "start": {
                                "line": 338,
                                "column": 28
                              },
                              "end": {
                                "line": 338,
                                "column": 64
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 12692,
                              "end": 12716,
                              "loc": {
                                "start": {
                                  "line": 338,
                                  "column": 28
                                },
                                "end": {
                                  "line": 338,
                                  "column": 52
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 12692,
                                "end": 12712,
                                "loc": {
                                  "start": {
                                    "line": 338,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 338,
                                    "column": 48
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 12692,
                                  "end": 12703,
                                  "loc": {
                                    "start": {
                                      "line": 338,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 338,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12692,
                                    "end": 12696,
                                    "loc": {
                                      "start": {
                                        "line": 338,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 338,
                                        "column": 32
                                      }
                                    },
                                    "name": "view"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12697,
                                    "end": 12703,
                                    "loc": {
                                      "start": {
                                        "line": 338,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 338,
                                        "column": 39
                                      }
                                    },
                                    "name": "camera"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12704,
                                  "end": 12712,
                                  "loc": {
                                    "start": {
                                      "line": 338,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 338,
                                      "column": 48
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12713,
                                "end": 12716,
                                "loc": {
                                  "start": {
                                    "line": 338,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 338,
                                    "column": 52
                                  }
                                },
                                "name": "set"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 12717,
                                "end": 12718,
                                "loc": {
                                  "start": {
                                    "line": 338,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 338,
                                    "column": 54
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              {
                                "type": "Literal",
                                "start": 12720,
                                "end": 12721,
                                "loc": {
                                  "start": {
                                    "line": 338,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 338,
                                    "column": 57
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              {
                                "type": "Literal",
                                "start": 12723,
                                "end": 12727,
                                "loc": {
                                  "start": {
                                    "line": 338,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 338,
                                    "column": 63
                                  }
                                },
                                "value": 1000,
                                "rawValue": 1000,
                                "raw": "1000"
                              }
                            ]
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12739,
                      "end": 12793,
                      "loc": {
                        "start": {
                          "line": 339,
                          "column": 8
                        },
                        "end": {
                          "line": 339,
                          "column": 62
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 12739,
                        "end": 12792,
                        "loc": {
                          "start": {
                            "line": 339,
                            "column": 8
                          },
                          "end": {
                            "line": 339,
                            "column": 61
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 12739,
                          "end": 12772,
                          "loc": {
                            "start": {
                              "line": 339,
                              "column": 8
                            },
                            "end": {
                              "line": 339,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 12739,
                            "end": 12753,
                            "loc": {
                              "start": {
                                "line": 339,
                                "column": 8
                              },
                              "end": {
                                "line": 339,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 12739,
                              "end": 12750,
                              "loc": {
                                "start": {
                                  "line": 339,
                                  "column": 8
                                },
                                "end": {
                                  "line": 339,
                                  "column": 19
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 12739,
                                "end": 12743,
                                "loc": {
                                  "start": {
                                    "line": 339,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 339,
                                    "column": 12
                                  }
                                },
                                "name": "view"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12744,
                                "end": 12750,
                                "loc": {
                                  "start": {
                                    "line": 339,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 339,
                                    "column": 19
                                  }
                                },
                                "name": "camera"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12751,
                              "end": 12753,
                              "loc": {
                                "start": {
                                  "line": 339,
                                  "column": 20
                                },
                                "end": {
                                  "line": 339,
                                  "column": 22
                                }
                              },
                              "name": "up"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12754,
                            "end": 12772,
                            "loc": {
                              "start": {
                                "line": 339,
                                "column": 23
                              },
                              "end": {
                                "line": 339,
                                "column": 41
                              }
                            },
                            "name": "transformDirection"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 12773,
                            "end": 12791,
                            "loc": {
                              "start": {
                                "line": 339,
                                "column": 42
                              },
                              "end": {
                                "line": 339,
                                "column": 60
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12773,
                              "end": 12779,
                              "loc": {
                                "start": {
                                  "line": 339,
                                  "column": 42
                                },
                                "end": {
                                  "line": 339,
                                  "column": 48
                                }
                              },
                              "name": "sketch"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12780,
                              "end": 12791,
                              "loc": {
                                "start": {
                                  "line": 339,
                                  "column": 49
                                },
                                "end": {
                                  "line": 339,
                                  "column": 60
                                }
                              },
                              "name": "matrixWorld"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12802,
                      "end": 12823,
                      "loc": {
                        "start": {
                          "line": 340,
                          "column": 8
                        },
                        "end": {
                          "line": 340,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12802,
                        "end": 12822,
                        "loc": {
                          "start": {
                            "line": 340,
                            "column": 8
                          },
                          "end": {
                            "line": 340,
                            "column": 28
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12802,
                          "end": 12818,
                          "loc": {
                            "start": {
                              "line": 340,
                              "column": 8
                            },
                            "end": {
                              "line": 340,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 12802,
                            "end": 12813,
                            "loc": {
                              "start": {
                                "line": 340,
                                "column": 8
                              },
                              "end": {
                                "line": 340,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12802,
                              "end": 12806,
                              "loc": {
                                "start": {
                                  "line": 340,
                                  "column": 8
                                },
                                "end": {
                                  "line": 340,
                                  "column": 12
                                }
                              },
                              "name": "view"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12807,
                              "end": 12813,
                              "loc": {
                                "start": {
                                  "line": 340,
                                  "column": 13
                                },
                                "end": {
                                  "line": 340,
                                  "column": 19
                                }
                              },
                              "name": "camera"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12814,
                            "end": 12818,
                            "loc": {
                              "start": {
                                "line": 340,
                                "column": 20
                              },
                              "end": {
                                "line": 340,
                                "column": 24
                              }
                            },
                            "name": "size"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 12821,
                          "end": 12822,
                          "loc": {
                            "start": {
                              "line": 340,
                              "column": 27
                            },
                            "end": {
                              "line": 340,
                              "column": 28
                            }
                          },
                          "value": 1,
                          "rawValue": 1,
                          "raw": "1"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12832,
                      "end": 12870,
                      "loc": {
                        "start": {
                          "line": 341,
                          "column": 8
                        },
                        "end": {
                          "line": 341,
                          "column": 46
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12832,
                        "end": 12869,
                        "loc": {
                          "start": {
                            "line": 341,
                            "column": 8
                          },
                          "end": {
                            "line": 341,
                            "column": 45
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12832,
                          "end": 12845,
                          "loc": {
                            "start": {
                              "line": 341,
                              "column": 8
                            },
                            "end": {
                              "line": 341,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12832,
                            "end": 12836,
                            "loc": {
                              "start": {
                                "line": 341,
                                "column": 8
                              },
                              "end": {
                                "line": 341,
                                "column": 12
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12837,
                            "end": 12845,
                            "loc": {
                              "start": {
                                "line": 341,
                                "column": 13
                              },
                              "end": {
                                "line": 341,
                                "column": 21
                              }
                            },
                            "name": "controls"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 12848,
                          "end": 12869,
                          "loc": {
                            "start": {
                              "line": 341,
                              "column": 24
                            },
                            "end": {
                              "line": 341,
                              "column": 45
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 12848,
                            "end": 12867,
                            "loc": {
                              "start": {
                                "line": 341,
                                "column": 24
                              },
                              "end": {
                                "line": 341,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 12848,
                              "end": 12861,
                              "loc": {
                                "start": {
                                  "line": 341,
                                  "column": 24
                                },
                                "end": {
                                  "line": 341,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 12848,
                                "end": 12852,
                                "loc": {
                                  "start": {
                                    "line": 341,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 341,
                                    "column": 28
                                  }
                                },
                                "name": "view"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12853,
                                "end": 12861,
                                "loc": {
                                  "start": {
                                    "line": 341,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 341,
                                    "column": 37
                                  }
                                },
                                "name": "controls"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12862,
                              "end": 12867,
                              "loc": {
                                "start": {
                                  "line": 341,
                                  "column": 38
                                },
                                "end": {
                                  "line": 341,
                                  "column": 43
                                }
                              },
                              "name": "clone"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12879,
                      "end": 12909,
                      "loc": {
                        "start": {
                          "line": 342,
                          "column": 8
                        },
                        "end": {
                          "line": 342,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12879,
                        "end": 12908,
                        "loc": {
                          "start": {
                            "line": 342,
                            "column": 8
                          },
                          "end": {
                            "line": 342,
                            "column": 37
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12879,
                          "end": 12901,
                          "loc": {
                            "start": {
                              "line": 342,
                              "column": 8
                            },
                            "end": {
                              "line": 342,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 12879,
                            "end": 12892,
                            "loc": {
                              "start": {
                                "line": 342,
                                "column": 8
                              },
                              "end": {
                                "line": 342,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12879,
                              "end": 12883,
                              "loc": {
                                "start": {
                                  "line": 342,
                                  "column": 8
                                },
                                "end": {
                                  "line": 342,
                                  "column": 12
                                }
                              },
                              "name": "view"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12884,
                              "end": 12892,
                              "loc": {
                                "start": {
                                  "line": 342,
                                  "column": 13
                                },
                                "end": {
                                  "line": 342,
                                  "column": 21
                                }
                              },
                              "name": "controls"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12893,
                            "end": 12901,
                            "loc": {
                              "start": {
                                "line": 342,
                                "column": 22
                              },
                              "end": {
                                "line": 342,
                                "column": 30
                              }
                            },
                            "name": "noRotate"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 12904,
                          "end": 12908,
                          "loc": {
                            "start": {
                              "line": 342,
                              "column": 33
                            },
                            "end": {
                              "line": 342,
                              "column": 37
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12918,
                      "end": 12964,
                      "loc": {
                        "start": {
                          "line": 343,
                          "column": 8
                        },
                        "end": {
                          "line": 343,
                          "column": 54
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12918,
                        "end": 12963,
                        "loc": {
                          "start": {
                            "line": 343,
                            "column": 8
                          },
                          "end": {
                            "line": 343,
                            "column": 53
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12918,
                          "end": 12940,
                          "loc": {
                            "start": {
                              "line": 343,
                              "column": 8
                            },
                            "end": {
                              "line": 343,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 12918,
                            "end": 12931,
                            "loc": {
                              "start": {
                                "line": 343,
                                "column": 8
                              },
                              "end": {
                                "line": 343,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12918,
                              "end": 12922,
                              "loc": {
                                "start": {
                                  "line": 343,
                                  "column": 8
                                },
                                "end": {
                                  "line": 343,
                                  "column": 12
                                }
                              },
                              "name": "view"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12923,
                              "end": 12931,
                              "loc": {
                                "start": {
                                  "line": 343,
                                  "column": 13
                                },
                                "end": {
                                  "line": 343,
                                  "column": 21
                                }
                              },
                              "name": "controls"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12932,
                            "end": 12940,
                            "loc": {
                              "start": {
                                "line": 343,
                                "column": 22
                              },
                              "end": {
                                "line": 343,
                                "column": 30
                              }
                            },
                            "name": "zoomMode"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 12943,
                          "end": 12963,
                          "loc": {
                            "start": {
                              "line": 343,
                              "column": 33
                            },
                            "end": {
                              "line": 343,
                              "column": 53
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 12943,
                            "end": 12957,
                            "loc": {
                              "start": {
                                "line": 343,
                                "column": 33
                              },
                              "end": {
                                "line": 343,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12943,
                              "end": 12948,
                              "loc": {
                                "start": {
                                  "line": 343,
                                  "column": 33
                                },
                                "end": {
                                  "line": 343,
                                  "column": 38
                                }
                              },
                              "name": "Orbit"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12949,
                              "end": 12957,
                              "loc": {
                                "start": {
                                  "line": 343,
                                  "column": 39
                                },
                                "end": {
                                  "line": 343,
                                  "column": 47
                                }
                              },
                              "name": "ZoomMode"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12958,
                            "end": 12963,
                            "loc": {
                              "start": {
                                "line": 343,
                                "column": 48
                              },
                              "end": {
                                "line": 343,
                                "column": 53
                              }
                            },
                            "name": "Mouse"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12973,
                      "end": 13017,
                      "loc": {
                        "start": {
                          "line": 344,
                          "column": 8
                        },
                        "end": {
                          "line": 344,
                          "column": 52
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 12973,
                        "end": 13016,
                        "loc": {
                          "start": {
                            "line": 344,
                            "column": 8
                          },
                          "end": {
                            "line": 344,
                            "column": 51
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 12973,
                          "end": 13014,
                          "loc": {
                            "start": {
                              "line": 344,
                              "column": 8
                            },
                            "end": {
                              "line": 344,
                              "column": 49
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 12973,
                            "end": 13010,
                            "loc": {
                              "start": {
                                "line": 344,
                                "column": 8
                              },
                              "end": {
                                "line": 344,
                                "column": 45
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 12973,
                              "end": 13005,
                              "loc": {
                                "start": {
                                  "line": 344,
                                  "column": 8
                                },
                                "end": {
                                  "line": 344,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 12973,
                                "end": 13000,
                                "loc": {
                                  "start": {
                                    "line": 344,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 344,
                                    "column": 35
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 12973,
                                  "end": 12992,
                                  "loc": {
                                    "start": {
                                      "line": 344,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 344,
                                      "column": 27
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 12973,
                                    "end": 12986,
                                    "loc": {
                                      "start": {
                                        "line": 344,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 344,
                                        "column": 21
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 12973,
                                      "end": 12977,
                                      "loc": {
                                        "start": {
                                          "line": 344,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 344,
                                          "column": 12
                                        }
                                      },
                                      "name": "view"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 12978,
                                      "end": 12986,
                                      "loc": {
                                        "start": {
                                          "line": 344,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 344,
                                          "column": 21
                                        }
                                      },
                                      "name": "controls"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12987,
                                    "end": 12992,
                                    "loc": {
                                      "start": {
                                        "line": 344,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 344,
                                        "column": 27
                                      }
                                    },
                                    "name": "focus"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 12993,
                                    "end": 12999,
                                    "loc": {
                                      "start": {
                                        "line": 344,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 344,
                                        "column": 34
                                      }
                                    },
                                    "name": "sketch"
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 13001,
                                "end": 13005,
                                "loc": {
                                  "start": {
                                    "line": 344,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 344,
                                    "column": 40
                                  }
                                },
                                "name": "zoom"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 13006,
                                "end": 13009,
                                "loc": {
                                  "start": {
                                    "line": 344,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 344,
                                    "column": 44
                                  }
                                },
                                "value": 200,
                                "rawValue": 200,
                                "raw": "200"
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13011,
                            "end": 13014,
                            "loc": {
                              "start": {
                                "line": 344,
                                "column": 46
                              },
                              "end": {
                                "line": 344,
                                "column": 49
                              }
                            },
                            "name": "now"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 13029,
              "end": 13208,
              "loc": {
                "start": {
                  "line": 347,
                  "column": 4
                },
                "end": {
                  "line": 351,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 13029,
                "end": 13054,
                "loc": {
                  "start": {
                    "line": 347,
                    "column": 4
                  },
                  "end": {
                    "line": 347,
                    "column": 29
                  }
                },
                "name": "switchToPerspectiveCamera"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 13054,
                "end": 13208,
                "loc": {
                  "start": {
                    "line": 347,
                    "column": 29
                  },
                  "end": {
                    "line": 351,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 13055,
                    "end": 13059,
                    "loc": {
                      "start": {
                        "line": 347,
                        "column": 30
                      },
                      "end": {
                        "line": 347,
                        "column": 34
                      }
                    },
                    "name": "view"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 13061,
                  "end": 13208,
                  "loc": {
                    "start": {
                      "line": 347,
                      "column": 36
                    },
                    "end": {
                      "line": 351,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 13071,
                      "end": 13112,
                      "loc": {
                        "start": {
                          "line": 348,
                          "column": 8
                        },
                        "end": {
                          "line": 348,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13071,
                        "end": 13111,
                        "loc": {
                          "start": {
                            "line": 348,
                            "column": 8
                          },
                          "end": {
                            "line": 348,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13071,
                          "end": 13084,
                          "loc": {
                            "start": {
                              "line": 348,
                              "column": 8
                            },
                            "end": {
                              "line": 348,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13071,
                            "end": 13075,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 8
                              },
                              "end": {
                                "line": 348,
                                "column": 12
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13076,
                            "end": 13084,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 13
                              },
                              "end": {
                                "line": 348,
                                "column": 21
                              }
                            },
                            "name": "controls"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13087,
                          "end": 13111,
                          "loc": {
                            "start": {
                              "line": 348,
                              "column": 24
                            },
                            "end": {
                              "line": 348,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13087,
                            "end": 13091,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 24
                              },
                              "end": {
                                "line": 348,
                                "column": 28
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13092,
                            "end": 13111,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 29
                              },
                              "end": {
                                "line": 348,
                                "column": 48
                              }
                            },
                            "name": "perspectiveControls"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13121,
                      "end": 13156,
                      "loc": {
                        "start": {
                          "line": 349,
                          "column": 8
                        },
                        "end": {
                          "line": 349,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13121,
                        "end": 13155,
                        "loc": {
                          "start": {
                            "line": 349,
                            "column": 8
                          },
                          "end": {
                            "line": 349,
                            "column": 42
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13121,
                          "end": 13132,
                          "loc": {
                            "start": {
                              "line": 349,
                              "column": 8
                            },
                            "end": {
                              "line": 349,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13121,
                            "end": 13125,
                            "loc": {
                              "start": {
                                "line": 349,
                                "column": 8
                              },
                              "end": {
                                "line": 349,
                                "column": 12
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13126,
                            "end": 13132,
                            "loc": {
                              "start": {
                                "line": 349,
                                "column": 13
                              },
                              "end": {
                                "line": 349,
                                "column": 19
                              }
                            },
                            "name": "camera"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13135,
                          "end": 13155,
                          "loc": {
                            "start": {
                              "line": 349,
                              "column": 22
                            },
                            "end": {
                              "line": 349,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 13135,
                            "end": 13148,
                            "loc": {
                              "start": {
                                "line": 349,
                                "column": 22
                              },
                              "end": {
                                "line": 349,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 13135,
                              "end": 13139,
                              "loc": {
                                "start": {
                                  "line": 349,
                                  "column": 22
                                },
                                "end": {
                                  "line": 349,
                                  "column": 26
                                }
                              },
                              "name": "view"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13140,
                              "end": 13148,
                              "loc": {
                                "start": {
                                  "line": 349,
                                  "column": 27
                                },
                                "end": {
                                  "line": 349,
                                  "column": 35
                                }
                              },
                              "name": "controls"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13149,
                            "end": 13155,
                            "loc": {
                              "start": {
                                "line": 349,
                                "column": 36
                              },
                              "end": {
                                "line": 349,
                                "column": 42
                              }
                            },
                            "name": "camera"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13165,
                      "end": 13202,
                      "loc": {
                        "start": {
                          "line": 350,
                          "column": 8
                        },
                        "end": {
                          "line": 350,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13165,
                        "end": 13201,
                        "loc": {
                          "start": {
                            "line": 350,
                            "column": 8
                          },
                          "end": {
                            "line": 350,
                            "column": 44
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13165,
                          "end": 13189,
                          "loc": {
                            "start": {
                              "line": 350,
                              "column": 8
                            },
                            "end": {
                              "line": 350,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13165,
                            "end": 13169,
                            "loc": {
                              "start": {
                                "line": 350,
                                "column": 8
                              },
                              "end": {
                                "line": 350,
                                "column": 12
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13170,
                            "end": 13189,
                            "loc": {
                              "start": {
                                "line": 350,
                                "column": 13
                              },
                              "end": {
                                "line": 350,
                                "column": 32
                              }
                            },
                            "name": "perspectiveControls"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 13192,
                          "end": 13201,
                          "loc": {
                            "start": {
                              "line": 350,
                              "column": 35
                            },
                            "end": {
                              "line": 350,
                              "column": 44
                            }
                          },
                          "name": "undefined"
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 13214,
              "end": 14215,
              "loc": {
                "start": {
                  "line": 353,
                  "column": 4
                },
                "end": {
                  "line": 385,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 13214,
                "end": 13237,
                "loc": {
                  "start": {
                    "line": 353,
                    "column": 4
                  },
                  "end": {
                    "line": 353,
                    "column": 27
                  }
                },
                "name": "requestAllButtonChanges"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 13237,
                "end": 14215,
                "loc": {
                  "start": {
                    "line": 353,
                    "column": 27
                  },
                  "end": {
                    "line": 385,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 13238,
                    "end": 13250,
                    "loc": {
                      "start": {
                        "line": 353,
                        "column": 28
                      },
                      "end": {
                        "line": 353,
                        "column": 40
                      }
                    },
                    "name": "isSketchMode"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 13252,
                  "end": 14215,
                  "loc": {
                    "start": {
                      "line": 353,
                      "column": 42
                    },
                    "end": {
                      "line": 385,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 13262,
                      "end": 13281,
                      "loc": {
                        "start": {
                          "line": 354,
                          "column": 8
                        },
                        "end": {
                          "line": 354,
                          "column": 27
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 13268,
                          "end": 13280,
                          "loc": {
                            "start": {
                              "line": 354,
                              "column": 14
                            },
                            "end": {
                              "line": 354,
                              "column": 26
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 13268,
                            "end": 13275,
                            "loc": {
                              "start": {
                                "line": 354,
                                "column": 14
                              },
                              "end": {
                                "line": 354,
                                "column": 21
                              }
                            },
                            "name": "buttons"
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 13278,
                            "end": 13280,
                            "loc": {
                              "start": {
                                "line": 354,
                                "column": 24
                              },
                              "end": {
                                "line": 354,
                                "column": 26
                              }
                            },
                            "elements": []
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "ForOfStatement",
                      "start": 13290,
                      "end": 14165,
                      "loc": {
                        "start": {
                          "line": 355,
                          "column": 8
                        },
                        "end": {
                          "line": 383,
                          "column": 9
                        }
                      },
                      "left": {
                        "type": "VariableDeclaration",
                        "start": 13295,
                        "end": 13307,
                        "loc": {
                          "start": {
                            "line": 355,
                            "column": 13
                          },
                          "end": {
                            "line": 355,
                            "column": 25
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 13301,
                            "end": 13307,
                            "loc": {
                              "start": {
                                "line": 355,
                                "column": 19
                              },
                              "end": {
                                "line": 355,
                                "column": 25
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 13301,
                              "end": 13307,
                              "loc": {
                                "start": {
                                  "line": 355,
                                  "column": 19
                                },
                                "end": {
                                  "line": 355,
                                  "column": 25
                                }
                              },
                              "name": "constr"
                            },
                            "init": null
                          }
                        ],
                        "kind": "const"
                      },
                      "right": {
                        "type": "ArrayExpression",
                        "start": 13311,
                        "end": 13901,
                        "loc": {
                          "start": {
                            "line": 355,
                            "column": 29
                          },
                          "end": {
                            "line": 375,
                            "column": 9
                          }
                        },
                        "elements": [
                          {
                            "type": "Literal",
                            "start": 13329,
                            "end": 13340,
                            "loc": {
                              "start": {
                                "line": 356,
                                "column": 16
                              },
                              "end": {
                                "line": 356,
                                "column": 27
                              }
                            },
                            "value": "incidence",
                            "rawValue": "incidence",
                            "raw": "'incidence'"
                          },
                          {
                            "type": "Literal",
                            "start": 13358,
                            "end": 13368,
                            "loc": {
                              "start": {
                                "line": 357,
                                "column": 16
                              },
                              "end": {
                                "line": 357,
                                "column": 26
                              }
                            },
                            "value": "tangency",
                            "rawValue": "tangency",
                            "raw": "'tangency'"
                          },
                          {
                            "type": "Literal",
                            "start": 13386,
                            "end": 13399,
                            "loc": {
                              "start": {
                                "line": 358,
                                "column": 16
                              },
                              "end": {
                                "line": 358,
                                "column": 29
                              }
                            },
                            "value": "verticality",
                            "rawValue": "verticality",
                            "raw": "'verticality'"
                          },
                          {
                            "type": "Literal",
                            "start": 13417,
                            "end": 13432,
                            "loc": {
                              "start": {
                                "line": 359,
                                "column": 16
                              },
                              "end": {
                                "line": 359,
                                "column": 31
                              }
                            },
                            "value": "horizontality",
                            "rawValue": "horizontality",
                            "raw": "'horizontality'"
                          },
                          {
                            "type": "Literal",
                            "start": 13450,
                            "end": 13463,
                            "loc": {
                              "start": {
                                "line": 360,
                                "column": 16
                              },
                              "end": {
                                "line": 360,
                                "column": 29
                              }
                            },
                            "value": "parallelity",
                            "rawValue": "parallelity",
                            "raw": "'parallelity'"
                          },
                          {
                            "type": "Literal",
                            "start": 13481,
                            "end": 13499,
                            "loc": {
                              "start": {
                                "line": 361,
                                "column": 16
                              },
                              "end": {
                                "line": 361,
                                "column": 34
                              }
                            },
                            "value": "perpendicularity",
                            "rawValue": "perpendicularity",
                            "raw": "'perpendicularity'"
                          },
                          {
                            "type": "Literal",
                            "start": 13517,
                            "end": 13527,
                            "loc": {
                              "start": {
                                "line": 362,
                                "column": 16
                              },
                              "end": {
                                "line": 362,
                                "column": 26
                              }
                            },
                            "value": "fixation",
                            "rawValue": "fixation",
                            "raw": "'fixation'"
                          },
                          {
                            "type": "Literal",
                            "start": 13545,
                            "end": 13555,
                            "loc": {
                              "start": {
                                "line": 363,
                                "column": 16
                              },
                              "end": {
                                "line": 363,
                                "column": 26
                              }
                            },
                            "value": "colinear",
                            "rawValue": "colinear",
                            "raw": "'colinear'"
                          },
                          {
                            "type": "Literal",
                            "start": 13573,
                            "end": 13585,
                            "loc": {
                              "start": {
                                "line": 364,
                                "column": 16
                              },
                              "end": {
                                "line": 364,
                                "column": 28
                              }
                            },
                            "value": "concentric",
                            "rawValue": "concentric",
                            "raw": "'concentric'"
                          },
                          {
                            "type": "Literal",
                            "start": 13603,
                            "end": 13613,
                            "loc": {
                              "start": {
                                "line": 365,
                                "column": 16
                              },
                              "end": {
                                "line": 365,
                                "column": 26
                              }
                            },
                            "value": "midpoint",
                            "rawValue": "midpoint",
                            "raw": "'midpoint'"
                          },
                          {
                            "type": "Literal",
                            "start": 13631,
                            "end": 13642,
                            "loc": {
                              "start": {
                                "line": 366,
                                "column": 16
                              },
                              "end": {
                                "line": 366,
                                "column": 27
                              }
                            },
                            "value": "symmetric",
                            "rawValue": "symmetric",
                            "raw": "'symmetric'"
                          },
                          {
                            "type": "Literal",
                            "start": 13660,
                            "end": 13676,
                            "loc": {
                              "start": {
                                "line": 367,
                                "column": 16
                              },
                              "end": {
                                "line": 367,
                                "column": 32
                              }
                            },
                            "value": "equal_distance",
                            "rawValue": "equal_distance",
                            "raw": "'equal_distance'"
                          },
                          {
                            "type": "Literal",
                            "start": 13694,
                            "end": 13708,
                            "loc": {
                              "start": {
                                "line": 368,
                                "column": 16
                              },
                              "end": {
                                "line": 368,
                                "column": 30
                              }
                            },
                            "value": "equal_radius",
                            "rawValue": "equal_radius",
                            "raw": "'equal_radius'"
                          },
                          {
                            "type": "Literal",
                            "start": 13726,
                            "end": 13736,
                            "loc": {
                              "start": {
                                "line": 369,
                                "column": 16
                              },
                              "end": {
                                "line": 369,
                                "column": 26
                              }
                            },
                            "value": "distance",
                            "rawValue": "distance",
                            "raw": "'distance'"
                          },
                          {
                            "type": "Literal",
                            "start": 13754,
                            "end": 13775,
                            "loc": {
                              "start": {
                                "line": 370,
                                "column": 16
                              },
                              "end": {
                                "line": 370,
                                "column": 37
                              }
                            },
                            "value": "horizontal_distance",
                            "rawValue": "horizontal_distance",
                            "raw": "'horizontal_distance'"
                          },
                          {
                            "type": "Literal",
                            "start": 13793,
                            "end": 13812,
                            "loc": {
                              "start": {
                                "line": 371,
                                "column": 16
                              },
                              "end": {
                                "line": 371,
                                "column": 35
                              }
                            },
                            "value": "vertical_distance",
                            "rawValue": "vertical_distance",
                            "raw": "'vertical_distance'"
                          },
                          {
                            "type": "Literal",
                            "start": 13830,
                            "end": 13838,
                            "loc": {
                              "start": {
                                "line": 372,
                                "column": 16
                              },
                              "end": {
                                "line": 372,
                                "column": 24
                              }
                            },
                            "value": "radius",
                            "rawValue": "radius",
                            "raw": "'radius'"
                          },
                          {
                            "type": "Literal",
                            "start": 13856,
                            "end": 13863,
                            "loc": {
                              "start": {
                                "line": 373,
                                "column": 16
                              },
                              "end": {
                                "line": 373,
                                "column": 23
                              }
                            },
                            "value": "angle",
                            "rawValue": "angle",
                            "raw": "'angle'"
                          },
                          {
                            "type": "Literal",
                            "start": 13881,
                            "end": 13890,
                            "loc": {
                              "start": {
                                "line": 374,
                                "column": 16
                              },
                              "end": {
                                "line": 374,
                                "column": 25
                              }
                            },
                            "value": "angleox",
                            "rawValue": "angleox",
                            "raw": "'angleox'"
                          }
                        ]
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 13903,
                        "end": 14165,
                        "loc": {
                          "start": {
                            "line": 375,
                            "column": 11
                          },
                          "end": {
                            "line": 383,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 13917,
                            "end": 14155,
                            "loc": {
                              "start": {
                                "line": 376,
                                "column": 12
                              },
                              "end": {
                                "line": 382,
                                "column": 15
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 13917,
                              "end": 14154,
                              "loc": {
                                "start": {
                                  "line": 376,
                                  "column": 12
                                },
                                "end": {
                                  "line": 382,
                                  "column": 14
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 13917,
                                "end": 13929,
                                "loc": {
                                  "start": {
                                    "line": 376,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 376,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 13917,
                                  "end": 13924,
                                  "loc": {
                                    "start": {
                                      "line": 376,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 376,
                                      "column": 19
                                    }
                                  },
                                  "name": "buttons"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13925,
                                  "end": 13929,
                                  "loc": {
                                    "start": {
                                      "line": 376,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 376,
                                      "column": 24
                                    }
                                  },
                                  "name": "push"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ObjectExpression",
                                  "start": 13930,
                                  "end": 14153,
                                  "loc": {
                                    "start": {
                                      "line": 376,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 382,
                                      "column": 13
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "Property",
                                      "start": 13948,
                                      "end": 13974,
                                      "loc": {
                                        "start": {
                                          "line": 377,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 377,
                                          "column": 42
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 13948,
                                        "end": 13950,
                                        "loc": {
                                          "start": {
                                            "line": 377,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 377,
                                            "column": 18
                                          }
                                        },
                                        "name": "id"
                                      },
                                      "value": {
                                        "type": "BinaryExpression",
                                        "start": 13952,
                                        "end": 13974,
                                        "loc": {
                                          "start": {
                                            "line": 377,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 377,
                                            "column": 42
                                          }
                                        },
                                        "left": {
                                          "type": "Literal",
                                          "start": 13952,
                                          "end": 13965,
                                          "loc": {
                                            "start": {
                                              "line": 377,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 377,
                                              "column": 33
                                            }
                                          },
                                          "value": "chooseTool ",
                                          "rawValue": "chooseTool ",
                                          "raw": "'chooseTool '"
                                        },
                                        "operator": "+",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 13968,
                                          "end": 13974,
                                          "loc": {
                                            "start": {
                                              "line": 377,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 377,
                                              "column": 42
                                            }
                                          },
                                          "name": "constr"
                                        }
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 13992,
                                      "end": 14013,
                                      "loc": {
                                        "start": {
                                          "line": 378,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 378,
                                          "column": 37
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 13992,
                                        "end": 13999,
                                        "loc": {
                                          "start": {
                                            "line": 378,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 378,
                                            "column": 23
                                          }
                                        },
                                        "name": "visible"
                                      },
                                      "value": {
                                        "type": "Identifier",
                                        "start": 14001,
                                        "end": 14013,
                                        "loc": {
                                          "start": {
                                            "line": 378,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 378,
                                            "column": 37
                                          }
                                        },
                                        "name": "isSketchMode"
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 14031,
                                      "end": 14061,
                                      "loc": {
                                        "start": {
                                          "line": 379,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 379,
                                          "column": 46
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 14031,
                                        "end": 14035,
                                        "loc": {
                                          "start": {
                                            "line": 379,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 379,
                                            "column": 20
                                          }
                                        },
                                        "name": "name"
                                      },
                                      "value": {
                                        "type": "CallExpression",
                                        "start": 14037,
                                        "end": 14061,
                                        "loc": {
                                          "start": {
                                            "line": 379,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 379,
                                            "column": 46
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 14037,
                                          "end": 14051,
                                          "loc": {
                                            "start": {
                                              "line": 379,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 379,
                                              "column": 36
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 14037,
                                            "end": 14043,
                                            "loc": {
                                              "start": {
                                                "line": 379,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 379,
                                                "column": 28
                                              }
                                            },
                                            "name": "constr"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 14044,
                                            "end": 14051,
                                            "loc": {
                                              "start": {
                                                "line": 379,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 379,
                                                "column": 36
                                              }
                                            },
                                            "name": "replace"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Literal",
                                            "start": 14052,
                                            "end": 14055,
                                            "loc": {
                                              "start": {
                                                "line": 379,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 379,
                                                "column": 40
                                              }
                                            },
                                            "value": "_",
                                            "rawValue": "_",
                                            "raw": "'_'"
                                          },
                                          {
                                            "type": "Literal",
                                            "start": 14057,
                                            "end": 14060,
                                            "loc": {
                                              "start": {
                                                "line": 379,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 379,
                                                "column": 45
                                              }
                                            },
                                            "value": " ",
                                            "rawValue": " ",
                                            "raw": "' '"
                                          }
                                        ]
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 14079,
                                      "end": 14099,
                                      "loc": {
                                        "start": {
                                          "line": 380,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 380,
                                          "column": 36
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 14079,
                                        "end": 14084,
                                        "loc": {
                                          "start": {
                                            "line": 380,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 380,
                                            "column": 21
                                          }
                                        },
                                        "name": "group"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 14086,
                                        "end": 14099,
                                        "loc": {
                                          "start": {
                                            "line": 380,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 380,
                                            "column": 36
                                          }
                                        },
                                        "value": "constraints",
                                        "rawValue": "constraints",
                                        "raw": "'constraints'"
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 14117,
                                      "end": 14138,
                                      "loc": {
                                        "start": {
                                          "line": 381,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 381,
                                          "column": 37
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 14117,
                                        "end": 14122,
                                        "loc": {
                                          "start": {
                                            "line": 381,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 381,
                                            "column": 21
                                          }
                                        },
                                        "name": "order"
                                      },
                                      "value": {
                                        "type": "MemberExpression",
                                        "start": 14124,
                                        "end": 14138,
                                        "loc": {
                                          "start": {
                                            "line": 381,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 381,
                                            "column": 37
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 14124,
                                          "end": 14131,
                                          "loc": {
                                            "start": {
                                              "line": 381,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 381,
                                              "column": 30
                                            }
                                          },
                                          "name": "buttons"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 14132,
                                          "end": 14138,
                                          "loc": {
                                            "start": {
                                              "line": 381,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 381,
                                              "column": 37
                                            }
                                          },
                                          "name": "length"
                                        },
                                        "computed": false
                                      },
                                      "kind": "init"
                                    }
                                  ]
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14174,
                      "end": 14209,
                      "loc": {
                        "start": {
                          "line": 384,
                          "column": 8
                        },
                        "end": {
                          "line": 384,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 14174,
                        "end": 14208,
                        "loc": {
                          "start": {
                            "line": 384,
                            "column": 8
                          },
                          "end": {
                            "line": 384,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 14174,
                          "end": 14199,
                          "loc": {
                            "start": {
                              "line": 384,
                              "column": 8
                            },
                            "end": {
                              "line": 384,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14174,
                            "end": 14178,
                            "loc": {
                              "start": {
                                "line": 384,
                                "column": 8
                              },
                              "end": {
                                "line": 384,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14179,
                            "end": 14199,
                            "loc": {
                              "start": {
                                "line": 384,
                                "column": 13
                              },
                              "end": {
                                "line": 384,
                                "column": 33
                              }
                            },
                            "name": "requestButtonChanges"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 14200,
                            "end": 14207,
                            "loc": {
                              "start": {
                                "line": 384,
                                "column": 34
                              },
                              "end": {
                                "line": 384,
                                "column": 41
                              }
                            },
                            "name": "buttons"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 14221,
              "end": 15338,
              "loc": {
                "start": {
                  "line": 387,
                  "column": 4
                },
                "end": {
                  "line": 421,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 14227,
                "end": 14239,
                "loc": {
                  "start": {
                    "line": 387,
                    "column": 10
                  },
                  "end": {
                    "line": 387,
                    "column": 22
                  }
                },
                "name": "selectSketch"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 14239,
                "end": 15338,
                "loc": {
                  "start": {
                    "line": 387,
                    "column": 22
                  },
                  "end": {
                    "line": 421,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 14240,
                    "end": 14246,
                    "loc": {
                      "start": {
                        "line": 387,
                        "column": 23
                      },
                      "end": {
                        "line": 387,
                        "column": 29
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 14248,
                  "end": 15338,
                  "loc": {
                    "start": {
                      "line": 387,
                      "column": 31
                    },
                    "end": {
                      "line": 421,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 14258,
                      "end": 14317,
                      "loc": {
                        "start": {
                          "line": 388,
                          "column": 8
                        },
                        "end": {
                          "line": 389,
                          "column": 24
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 14262,
                        "end": 14291,
                        "loc": {
                          "start": {
                            "line": 388,
                            "column": 12
                          },
                          "end": {
                            "line": 388,
                            "column": 41
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 14262,
                          "end": 14280,
                          "loc": {
                            "start": {
                              "line": 388,
                              "column": 12
                            },
                            "end": {
                              "line": 388,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14262,
                            "end": 14266,
                            "loc": {
                              "start": {
                                "line": 388,
                                "column": 12
                              },
                              "end": {
                                "line": 388,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14267,
                            "end": 14280,
                            "loc": {
                              "start": {
                                "line": 388,
                                "column": 17
                              },
                              "end": {
                                "line": 388,
                                "column": 30
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 14285,
                          "end": 14291,
                          "loc": {
                            "start": {
                              "line": 388,
                              "column": 35
                            },
                            "end": {
                              "line": 388,
                              "column": 41
                            }
                          },
                          "name": "sketch"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 14305,
                        "end": 14317,
                        "loc": {
                          "start": {
                            "line": 389,
                            "column": 12
                          },
                          "end": {
                            "line": 389,
                            "column": 24
                          }
                        },
                        "argument": {
                          "type": "Literal",
                          "start": 14312,
                          "end": 14316,
                          "loc": {
                            "start": {
                              "line": 389,
                              "column": 19
                            },
                            "end": {
                              "line": 389,
                              "column": 23
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 14326,
                      "end": 14385,
                      "loc": {
                        "start": {
                          "line": 390,
                          "column": 8
                        },
                        "end": {
                          "line": 391,
                          "column": 25
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 14330,
                        "end": 14358,
                        "loc": {
                          "start": {
                            "line": 390,
                            "column": 12
                          },
                          "end": {
                            "line": 390,
                            "column": 40
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "AwaitExpression",
                          "start": 14331,
                          "end": 14358,
                          "loc": {
                            "start": {
                              "line": 390,
                              "column": 13
                            },
                            "end": {
                              "line": 390,
                              "column": 40
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 14337,
                            "end": 14358,
                            "loc": {
                              "start": {
                                "line": 390,
                                "column": 19
                              },
                              "end": {
                                "line": 390,
                                "column": 40
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 14337,
                              "end": 14356,
                              "loc": {
                                "start": {
                                  "line": 390,
                                  "column": 19
                                },
                                "end": {
                                  "line": 390,
                                  "column": 38
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 14337,
                                "end": 14341,
                                "loc": {
                                  "start": {
                                    "line": 390,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 390,
                                    "column": 23
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 14342,
                                "end": 14356,
                                "loc": {
                                  "start": {
                                    "line": 390,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 390,
                                    "column": 38
                                  }
                                },
                                "name": "deselectSketch"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 14372,
                        "end": 14385,
                        "loc": {
                          "start": {
                            "line": 391,
                            "column": 12
                          },
                          "end": {
                            "line": 391,
                            "column": 25
                          }
                        },
                        "argument": {
                          "type": "Literal",
                          "start": 14379,
                          "end": 14384,
                          "loc": {
                            "start": {
                              "line": 391,
                              "column": 19
                            },
                            "end": {
                              "line": 391,
                              "column": 24
                            }
                          },
                          "value": false,
                          "rawValue": false,
                          "raw": "false"
                        },
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "cannot deselect other sketch",
                          "start": 14388,
                          "end": 14418,
                          "loc": {
                            "start": {
                              "line": 391,
                              "column": 28
                            },
                            "end": {
                              "line": 391,
                              "column": 58
                            }
                          },
                          "range": [
                            14388,
                            14418
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14429,
                      "end": 14457,
                      "loc": {
                        "start": {
                          "line": 394,
                          "column": 8
                        },
                        "end": {
                          "line": 394,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14429,
                        "end": 14456,
                        "loc": {
                          "start": {
                            "line": 394,
                            "column": 8
                          },
                          "end": {
                            "line": 394,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14429,
                          "end": 14447,
                          "loc": {
                            "start": {
                              "line": 394,
                              "column": 8
                            },
                            "end": {
                              "line": 394,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14429,
                            "end": 14433,
                            "loc": {
                              "start": {
                                "line": 394,
                                "column": 8
                              },
                              "end": {
                                "line": 394,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14434,
                            "end": 14447,
                            "loc": {
                              "start": {
                                "line": 394,
                                "column": 13
                              },
                              "end": {
                                "line": 394,
                                "column": 26
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 14450,
                          "end": 14456,
                          "loc": {
                            "start": {
                              "line": 394,
                              "column": 29
                            },
                            "end": {
                              "line": 394,
                              "column": 35
                            }
                          },
                          "name": "sketch"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "cannot deselect other sketch",
                          "start": 14388,
                          "end": 14418,
                          "loc": {
                            "start": {
                              "line": 391,
                              "column": 28
                            },
                            "end": {
                              "line": 391,
                              "column": 58
                            }
                          },
                          "range": [
                            14388,
                            14418
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14466,
                      "end": 14505,
                      "loc": {
                        "start": {
                          "line": 395,
                          "column": 8
                        },
                        "end": {
                          "line": 395,
                          "column": 47
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14466,
                        "end": 14504,
                        "loc": {
                          "start": {
                            "line": 395,
                            "column": 8
                          },
                          "end": {
                            "line": 395,
                            "column": 46
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14466,
                          "end": 14497,
                          "loc": {
                            "start": {
                              "line": 395,
                              "column": 8
                            },
                            "end": {
                              "line": 395,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 14466,
                            "end": 14480,
                            "loc": {
                              "start": {
                                "line": 395,
                                "column": 8
                              },
                              "end": {
                                "line": 395,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 14466,
                              "end": 14470,
                              "loc": {
                                "start": {
                                  "line": 395,
                                  "column": 8
                                },
                                "end": {
                                  "line": 395,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14471,
                              "end": 14480,
                              "loc": {
                                "start": {
                                  "line": 395,
                                  "column": 13
                                },
                                "end": {
                                  "line": 395,
                                  "column": 22
                                }
                              },
                              "name": "modelData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14481,
                            "end": 14497,
                            "loc": {
                              "start": {
                                "line": 395,
                                "column": 23
                              },
                              "end": {
                                "line": 395,
                                "column": 39
                              }
                            },
                            "name": "isSketchSelected"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 14500,
                          "end": 14504,
                          "loc": {
                            "start": {
                              "line": 395,
                              "column": 42
                            },
                            "end": {
                              "line": 395,
                              "column": 46
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14514,
                      "end": 14594,
                      "loc": {
                        "start": {
                          "line": 396,
                          "column": 8
                        },
                        "end": {
                          "line": 396,
                          "column": 88
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14514,
                        "end": 14593,
                        "loc": {
                          "start": {
                            "line": 396,
                            "column": 8
                          },
                          "end": {
                            "line": 396,
                            "column": 87
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14514,
                          "end": 14542,
                          "loc": {
                            "start": {
                              "line": 396,
                              "column": 8
                            },
                            "end": {
                              "line": 396,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 14514,
                            "end": 14528,
                            "loc": {
                              "start": {
                                "line": 396,
                                "column": 8
                              },
                              "end": {
                                "line": 396,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 14514,
                              "end": 14518,
                              "loc": {
                                "start": {
                                  "line": 396,
                                  "column": 8
                                },
                                "end": {
                                  "line": 396,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14519,
                              "end": 14528,
                              "loc": {
                                "start": {
                                  "line": 396,
                                  "column": 13
                                },
                                "end": {
                                  "line": 396,
                                  "column": 22
                                }
                              },
                              "name": "modelData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14529,
                            "end": 14542,
                            "loc": {
                              "start": {
                                "line": 396,
                                "column": 23
                              },
                              "end": {
                                "line": 396,
                                "column": 36
                              }
                            },
                            "name": "expressionSet"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 14545,
                          "end": 14593,
                          "loc": {
                            "start": {
                              "line": 396,
                              "column": 39
                            },
                            "end": {
                              "line": 396,
                              "column": 87
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 14545,
                            "end": 14583,
                            "loc": {
                              "start": {
                                "line": 396,
                                "column": 39
                              },
                              "end": {
                                "line": 396,
                                "column": 77
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 14545,
                              "end": 14569,
                              "loc": {
                                "start": {
                                  "line": 396,
                                  "column": 39
                                },
                                "end": {
                                  "line": 396,
                                  "column": 63
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 14545,
                                "end": 14561,
                                "loc": {
                                  "start": {
                                    "line": 396,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 396,
                                    "column": 55
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 14545,
                                  "end": 14559,
                                  "loc": {
                                    "start": {
                                      "line": 396,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 396,
                                      "column": 53
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 14545,
                                    "end": 14551,
                                    "loc": {
                                      "start": {
                                        "line": 396,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 396,
                                        "column": 45
                                      }
                                    },
                                    "name": "sketch"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14552,
                                    "end": 14559,
                                    "loc": {
                                      "start": {
                                        "line": 396,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 396,
                                        "column": 53
                                      }
                                    },
                                    "name": "getPart"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 14562,
                                "end": 14569,
                                "loc": {
                                  "start": {
                                    "line": 396,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 396,
                                    "column": 63
                                  }
                                },
                                "name": "members"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14570,
                              "end": 14583,
                              "loc": {
                                "start": {
                                  "line": 396,
                                  "column": 64
                                },
                                "end": {
                                  "line": 396,
                                  "column": 77
                                }
                              },
                              "name": "ExpressionSet"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14584,
                            "end": 14593,
                            "loc": {
                              "start": {
                                "line": 396,
                                "column": 78
                              },
                              "end": {
                                "line": 396,
                                "column": 87
                              }
                            },
                            "name": "modelData"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14603,
                      "end": 14620,
                      "loc": {
                        "start": {
                          "line": 397,
                          "column": 8
                        },
                        "end": {
                          "line": 397,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 14603,
                        "end": 14619,
                        "loc": {
                          "start": {
                            "line": 397,
                            "column": 8
                          },
                          "end": {
                            "line": 397,
                            "column": 24
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 14603,
                          "end": 14617,
                          "loc": {
                            "start": {
                              "line": 397,
                              "column": 8
                            },
                            "end": {
                              "line": 397,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 14603,
                            "end": 14609,
                            "loc": {
                              "start": {
                                "line": 397,
                                "column": 8
                              },
                              "end": {
                                "line": 397,
                                "column": 14
                              }
                            },
                            "name": "sketch"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14610,
                            "end": 14617,
                            "loc": {
                              "start": {
                                "line": 397,
                                "column": 15
                              },
                              "end": {
                                "line": 397,
                                "column": 22
                              }
                            },
                            "name": "showBox"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14629,
                      "end": 14650,
                      "loc": {
                        "start": {
                          "line": 398,
                          "column": 8
                        },
                        "end": {
                          "line": 398,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 14629,
                        "end": 14649,
                        "loc": {
                          "start": {
                            "line": 398,
                            "column": 8
                          },
                          "end": {
                            "line": 398,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 14629,
                          "end": 14647,
                          "loc": {
                            "start": {
                              "line": 398,
                              "column": 8
                            },
                            "end": {
                              "line": 398,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 14629,
                            "end": 14635,
                            "loc": {
                              "start": {
                                "line": 398,
                                "column": 8
                              },
                              "end": {
                                "line": 398,
                                "column": 14
                              }
                            },
                            "name": "sketch"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14636,
                            "end": 14647,
                            "loc": {
                              "start": {
                                "line": 398,
                                "column": 15
                              },
                              "end": {
                                "line": 398,
                                "column": 26
                              }
                            },
                            "name": "infiniteBox"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14660,
                      "end": 14719,
                      "loc": {
                        "start": {
                          "line": 400,
                          "column": 8
                        },
                        "end": {
                          "line": 400,
                          "column": 67
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 14660,
                        "end": 14718,
                        "loc": {
                          "start": {
                            "line": 400,
                            "column": 8
                          },
                          "end": {
                            "line": 400,
                            "column": 66
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 14660,
                          "end": 14691,
                          "loc": {
                            "start": {
                              "line": 400,
                              "column": 8
                            },
                            "end": {
                              "line": 400,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14660,
                            "end": 14664,
                            "loc": {
                              "start": {
                                "line": 400,
                                "column": 8
                              },
                              "end": {
                                "line": 400,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14665,
                            "end": 14691,
                            "loc": {
                              "start": {
                                "line": 400,
                                "column": 13
                              },
                              "end": {
                                "line": 400,
                                "column": 39
                              }
                            },
                            "name": "switchToOrthographicCamera"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 14692,
                            "end": 14709,
                            "loc": {
                              "start": {
                                "line": 400,
                                "column": 40
                              },
                              "end": {
                                "line": 400,
                                "column": 57
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 14692,
                              "end": 14696,
                              "loc": {
                                "start": {
                                  "line": 400,
                                  "column": 40
                                },
                                "end": {
                                  "line": 400,
                                  "column": 44
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14697,
                              "end": 14709,
                              "loc": {
                                "start": {
                                  "line": 400,
                                  "column": 45
                                },
                                "end": {
                                  "line": 400,
                                  "column": 57
                                }
                              },
                              "name": "__parentView"
                            },
                            "computed": false
                          },
                          {
                            "type": "Identifier",
                            "start": 14711,
                            "end": 14717,
                            "loc": {
                              "start": {
                                "line": 400,
                                "column": 59
                              },
                              "end": {
                                "line": 400,
                                "column": 65
                              }
                            },
                            "name": "sketch"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14728,
                      "end": 14763,
                      "loc": {
                        "start": {
                          "line": 401,
                          "column": 8
                        },
                        "end": {
                          "line": 401,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 14728,
                        "end": 14762,
                        "loc": {
                          "start": {
                            "line": 401,
                            "column": 8
                          },
                          "end": {
                            "line": 401,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 14728,
                          "end": 14756,
                          "loc": {
                            "start": {
                              "line": 401,
                              "column": 8
                            },
                            "end": {
                              "line": 401,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14728,
                            "end": 14732,
                            "loc": {
                              "start": {
                                "line": 401,
                                "column": 8
                              },
                              "end": {
                                "line": 401,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14733,
                            "end": 14756,
                            "loc": {
                              "start": {
                                "line": 401,
                                "column": 13
                              },
                              "end": {
                                "line": 401,
                                "column": 36
                              }
                            },
                            "name": "requestAllButtonChanges"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 14757,
                            "end": 14761,
                            "loc": {
                              "start": {
                                "line": 401,
                                "column": 37
                              },
                              "end": {
                                "line": 401,
                                "column": 41
                              }
                            },
                            "value": true,
                            "rawValue": true,
                            "raw": "true"
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "make sure that dimensions are present",
                          "start": 14773,
                          "end": 14812,
                          "loc": {
                            "start": {
                              "line": 403,
                              "column": 8
                            },
                            "end": {
                              "line": 403,
                              "column": 47
                            }
                          },
                          "range": [
                            14773,
                            14812
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14821,
                      "end": 14864,
                      "loc": {
                        "start": {
                          "line": 404,
                          "column": 8
                        },
                        "end": {
                          "line": 404,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 14821,
                        "end": 14863,
                        "loc": {
                          "start": {
                            "line": 404,
                            "column": 8
                          },
                          "end": {
                            "line": 404,
                            "column": 50
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 14827,
                          "end": 14863,
                          "loc": {
                            "start": {
                              "line": 404,
                              "column": 14
                            },
                            "end": {
                              "line": 404,
                              "column": 50
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 14827,
                            "end": 14850,
                            "loc": {
                              "start": {
                                "line": 404,
                                "column": 14
                              },
                              "end": {
                                "line": 404,
                                "column": 37
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 14827,
                              "end": 14833,
                              "loc": {
                                "start": {
                                  "line": 404,
                                  "column": 14
                                },
                                "end": {
                                  "line": 404,
                                  "column": 20
                                }
                              },
                              "name": "sketch"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14834,
                              "end": 14850,
                              "loc": {
                                "start": {
                                  "line": 404,
                                  "column": 21
                                },
                                "end": {
                                  "line": 404,
                                  "column": 37
                                }
                              },
                              "name": "updateFromServer"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 14851,
                              "end": 14862,
                              "loc": {
                                "start": {
                                  "line": 404,
                                  "column": 38
                                },
                                "end": {
                                  "line": 404,
                                  "column": 49
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 14851,
                                "end": 14855,
                                "loc": {
                                  "start": {
                                    "line": 404,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 404,
                                    "column": 42
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 14856,
                                "end": 14862,
                                "loc": {
                                  "start": {
                                    "line": 404,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 404,
                                    "column": 49
                                  }
                                },
                                "name": "server"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "make sure that dimensions are present",
                          "start": 14773,
                          "end": 14812,
                          "loc": {
                            "start": {
                              "line": 403,
                              "column": 8
                            },
                            "end": {
                              "line": 403,
                              "column": 47
                            }
                          },
                          "range": [
                            14773,
                            14812
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14874,
                      "end": 14905,
                      "loc": {
                        "start": {
                          "line": 406,
                          "column": 8
                        },
                        "end": {
                          "line": 406,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 14874,
                        "end": 14904,
                        "loc": {
                          "start": {
                            "line": 406,
                            "column": 8
                          },
                          "end": {
                            "line": 406,
                            "column": 38
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 14880,
                          "end": 14904,
                          "loc": {
                            "start": {
                              "line": 406,
                              "column": 14
                            },
                            "end": {
                              "line": 406,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 14880,
                            "end": 14895,
                            "loc": {
                              "start": {
                                "line": 406,
                                "column": 14
                              },
                              "end": {
                                "line": 406,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 14880,
                              "end": 14884,
                              "loc": {
                                "start": {
                                  "line": 406,
                                  "column": 14
                                },
                                "end": {
                                  "line": 406,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14885,
                              "end": 14895,
                              "loc": {
                                "start": {
                                  "line": 406,
                                  "column": 19
                                },
                                "end": {
                                  "line": 406,
                                  "column": 29
                                }
                              },
                              "name": "chooseTool"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 14896,
                              "end": 14903,
                              "loc": {
                                "start": {
                                  "line": 406,
                                  "column": 30
                                },
                                "end": {
                                  "line": 406,
                                  "column": 37
                                }
                              },
                              "value": "empty",
                              "rawValue": "empty",
                              "raw": "'empty'"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14915,
                      "end": 14930,
                      "loc": {
                        "start": {
                          "line": 408,
                          "column": 8
                        },
                        "end": {
                          "line": 408,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 14915,
                        "end": 14929,
                        "loc": {
                          "start": {
                            "line": 408,
                            "column": 8
                          },
                          "end": {
                            "line": 408,
                            "column": 22
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 14915,
                          "end": 14927,
                          "loc": {
                            "start": {
                              "line": 408,
                              "column": 8
                            },
                            "end": {
                              "line": 408,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14915,
                            "end": 14919,
                            "loc": {
                              "start": {
                                "line": 408,
                                "column": 8
                              },
                              "end": {
                                "line": 408,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14920,
                            "end": 14927,
                            "loc": {
                              "start": {
                                "line": 408,
                                "column": 13
                              },
                              "end": {
                                "line": 408,
                                "column": 20
                              }
                            },
                            "name": "refresh"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14940,
                      "end": 14970,
                      "loc": {
                        "start": {
                          "line": 410,
                          "column": 8
                        },
                        "end": {
                          "line": 410,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 14940,
                        "end": 14969,
                        "loc": {
                          "start": {
                            "line": 410,
                            "column": 8
                          },
                          "end": {
                            "line": 410,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 14940,
                          "end": 14967,
                          "loc": {
                            "start": {
                              "line": 410,
                              "column": 8
                            },
                            "end": {
                              "line": 410,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 14940,
                            "end": 14958,
                            "loc": {
                              "start": {
                                "line": 410,
                                "column": 8
                              },
                              "end": {
                                "line": 410,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 14940,
                              "end": 14944,
                              "loc": {
                                "start": {
                                  "line": 410,
                                  "column": 8
                                },
                                "end": {
                                  "line": 410,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14945,
                              "end": 14958,
                              "loc": {
                                "start": {
                                  "line": 410,
                                  "column": 13
                                },
                                "end": {
                                  "line": 410,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14959,
                            "end": 14967,
                            "loc": {
                              "start": {
                                "line": 410,
                                "column": 27
                              },
                              "end": {
                                "line": 410,
                                "column": 35
                              }
                            },
                            "name": "showGrid"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14979,
                      "end": 15015,
                      "loc": {
                        "start": {
                          "line": 411,
                          "column": 8
                        },
                        "end": {
                          "line": 411,
                          "column": 44
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 14979,
                        "end": 15014,
                        "loc": {
                          "start": {
                            "line": 411,
                            "column": 8
                          },
                          "end": {
                            "line": 411,
                            "column": 43
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 14979,
                          "end": 15012,
                          "loc": {
                            "start": {
                              "line": 411,
                              "column": 8
                            },
                            "end": {
                              "line": 411,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 14979,
                            "end": 14997,
                            "loc": {
                              "start": {
                                "line": 411,
                                "column": 8
                              },
                              "end": {
                                "line": 411,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 14979,
                              "end": 14983,
                              "loc": {
                                "start": {
                                  "line": 411,
                                  "column": 8
                                },
                                "end": {
                                  "line": 411,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14984,
                              "end": 14997,
                              "loc": {
                                "start": {
                                  "line": 411,
                                  "column": 13
                                },
                                "end": {
                                  "line": 411,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14998,
                            "end": 15012,
                            "loc": {
                              "start": {
                                "line": 411,
                                "column": 27
                              },
                              "end": {
                                "line": 411,
                                "column": 41
                              }
                            },
                            "name": "showDimensions"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 15025,
                      "end": 15058,
                      "loc": {
                        "start": {
                          "line": 413,
                          "column": 8
                        },
                        "end": {
                          "line": 413,
                          "column": 41
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 15029,
                          "end": 15057,
                          "loc": {
                            "start": {
                              "line": 413,
                              "column": 12
                            },
                            "end": {
                              "line": 413,
                              "column": 40
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 15029,
                            "end": 15033,
                            "loc": {
                              "start": {
                                "line": 413,
                                "column": 12
                              },
                              "end": {
                                "line": 413,
                                "column": 16
                              }
                            },
                            "name": "item"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 15036,
                            "end": 15057,
                            "loc": {
                              "start": {
                                "line": 413,
                                "column": 19
                              },
                              "end": {
                                "line": 413,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 15036,
                              "end": 15052,
                              "loc": {
                                "start": {
                                  "line": 413,
                                  "column": 19
                                },
                                "end": {
                                  "line": 413,
                                  "column": 35
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 15036,
                                "end": 15050,
                                "loc": {
                                  "start": {
                                    "line": 413,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 413,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 15036,
                                  "end": 15042,
                                  "loc": {
                                    "start": {
                                      "line": 413,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 413,
                                      "column": 25
                                    }
                                  },
                                  "name": "sketch"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15043,
                                  "end": 15050,
                                  "loc": {
                                    "start": {
                                      "line": 413,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 413,
                                      "column": 33
                                    }
                                  },
                                  "name": "getPart"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15053,
                              "end": 15057,
                              "loc": {
                                "start": {
                                  "line": 413,
                                  "column": 36
                                },
                                "end": {
                                  "line": 413,
                                  "column": 40
                                }
                              },
                              "name": "item"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 15067,
                      "end": 15311,
                      "loc": {
                        "start": {
                          "line": 414,
                          "column": 8
                        },
                        "end": {
                          "line": 419,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 15071,
                        "end": 15115,
                        "loc": {
                          "start": {
                            "line": 414,
                            "column": 12
                          },
                          "end": {
                            "line": 414,
                            "column": 56
                          }
                        },
                        "left": {
                          "type": "LogicalExpression",
                          "start": 15071,
                          "end": 15093,
                          "loc": {
                            "start": {
                              "line": 414,
                              "column": 12
                            },
                            "end": {
                              "line": 414,
                              "column": 34
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 15071,
                            "end": 15075,
                            "loc": {
                              "start": {
                                "line": 414,
                                "column": 12
                              },
                              "end": {
                                "line": 414,
                                "column": 16
                              }
                            },
                            "name": "item"
                          },
                          "operator": "&&",
                          "right": {
                            "type": "MemberExpression",
                            "start": 15079,
                            "end": 15093,
                            "loc": {
                              "start": {
                                "line": 414,
                                "column": 20
                              },
                              "end": {
                                "line": 414,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 15079,
                              "end": 15083,
                              "loc": {
                                "start": {
                                  "line": 414,
                                  "column": 20
                                },
                                "end": {
                                  "line": 414,
                                  "column": 24
                                }
                              },
                              "name": "item"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15084,
                              "end": 15093,
                              "loc": {
                                "start": {
                                  "line": 414,
                                  "column": 25
                                },
                                "end": {
                                  "line": 414,
                                  "column": 34
                                }
                              },
                              "name": "materials"
                            },
                            "computed": false
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "MemberExpression",
                          "start": 15097,
                          "end": 15115,
                          "loc": {
                            "start": {
                              "line": 414,
                              "column": 38
                            },
                            "end": {
                              "line": 414,
                              "column": 56
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 15097,
                            "end": 15111,
                            "loc": {
                              "start": {
                                "line": 414,
                                "column": 38
                              },
                              "end": {
                                "line": 414,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 15097,
                              "end": 15101,
                              "loc": {
                                "start": {
                                  "line": 414,
                                  "column": 38
                                },
                                "end": {
                                  "line": 414,
                                  "column": 42
                                }
                              },
                              "name": "item"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15102,
                              "end": 15111,
                              "loc": {
                                "start": {
                                  "line": 414,
                                  "column": 43
                                },
                                "end": {
                                  "line": 414,
                                  "column": 52
                                }
                              },
                              "name": "materials"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15112,
                            "end": 15115,
                            "loc": {
                              "start": {
                                "line": 414,
                                "column": 53
                              },
                              "end": {
                                "line": 414,
                                "column": 56
                              }
                            },
                            "name": "all"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 15117,
                        "end": 15311,
                        "loc": {
                          "start": {
                            "line": 414,
                            "column": 58
                          },
                          "end": {
                            "line": 419,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 15131,
                            "end": 15301,
                            "loc": {
                              "start": {
                                "line": 415,
                                "column": 12
                              },
                              "end": {
                                "line": 418,
                                "column": 15
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 15131,
                              "end": 15300,
                              "loc": {
                                "start": {
                                  "line": 415,
                                  "column": 12
                                },
                                "end": {
                                  "line": 418,
                                  "column": 14
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 15131,
                                "end": 15157,
                                "loc": {
                                  "start": {
                                    "line": 415,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 415,
                                    "column": 38
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 15131,
                                  "end": 15149,
                                  "loc": {
                                    "start": {
                                      "line": 415,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 415,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 15131,
                                    "end": 15145,
                                    "loc": {
                                      "start": {
                                        "line": 415,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 415,
                                        "column": 26
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 15131,
                                      "end": 15135,
                                      "loc": {
                                        "start": {
                                          "line": 415,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 415,
                                          "column": 16
                                        }
                                      },
                                      "name": "item"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15136,
                                      "end": 15145,
                                      "loc": {
                                        "start": {
                                          "line": 415,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 415,
                                          "column": 26
                                        }
                                      },
                                      "name": "materials"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15146,
                                    "end": 15149,
                                    "loc": {
                                      "start": {
                                        "line": 415,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 415,
                                        "column": 30
                                      }
                                    },
                                    "name": "all"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15150,
                                  "end": 15157,
                                  "loc": {
                                    "start": {
                                      "line": 415,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 415,
                                      "column": 38
                                    }
                                  },
                                  "name": "forEach"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "FunctionExpression",
                                  "start": 15158,
                                  "end": 15299,
                                  "loc": {
                                    "start": {
                                      "line": 415,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 418,
                                      "column": 13
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 15168,
                                      "end": 15176,
                                      "loc": {
                                        "start": {
                                          "line": 415,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 415,
                                          "column": 57
                                        }
                                      },
                                      "name": "material"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 15178,
                                    "end": 15299,
                                    "loc": {
                                      "start": {
                                        "line": 415,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 418,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 15196,
                                        "end": 15224,
                                        "loc": {
                                          "start": {
                                            "line": 416,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 416,
                                            "column": 44
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 15196,
                                          "end": 15223,
                                          "loc": {
                                            "start": {
                                              "line": 416,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 416,
                                              "column": 43
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 15196,
                                            "end": 15216,
                                            "loc": {
                                              "start": {
                                                "line": 416,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 416,
                                                "column": 36
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 15196,
                                              "end": 15204,
                                              "loc": {
                                                "start": {
                                                  "line": 416,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 416,
                                                  "column": 24
                                                }
                                              },
                                              "name": "material"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 15205,
                                              "end": 15216,
                                              "loc": {
                                                "start": {
                                                  "line": 416,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 416,
                                                  "column": 36
                                                }
                                              },
                                              "name": "transparent"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "Literal",
                                            "start": 15219,
                                            "end": 15223,
                                            "loc": {
                                              "start": {
                                                "line": 416,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 416,
                                                "column": 43
                                              }
                                            },
                                            "value": true,
                                            "rawValue": true,
                                            "raw": "true"
                                          }
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 15241,
                                        "end": 15285,
                                        "loc": {
                                          "start": {
                                            "line": 417,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 417,
                                            "column": 60
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 15241,
                                          "end": 15284,
                                          "loc": {
                                            "start": {
                                              "line": 417,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 417,
                                              "column": 59
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 15241,
                                            "end": 15257,
                                            "loc": {
                                              "start": {
                                                "line": 417,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 417,
                                                "column": 32
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 15241,
                                              "end": 15249,
                                              "loc": {
                                                "start": {
                                                  "line": 417,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 417,
                                                  "column": 24
                                                }
                                              },
                                              "name": "material"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 15250,
                                              "end": 15257,
                                              "loc": {
                                                "start": {
                                                  "line": 417,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 417,
                                                  "column": 32
                                                }
                                              },
                                              "name": "opacity"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 15260,
                                            "end": 15284,
                                            "loc": {
                                              "start": {
                                                "line": 417,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 417,
                                                "column": 59
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 15260,
                                              "end": 15266,
                                              "loc": {
                                                "start": {
                                                  "line": 417,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 417,
                                                  "column": 41
                                                }
                                              },
                                              "name": "sketch"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 15267,
                                              "end": 15284,
                                              "loc": {
                                                "start": {
                                                  "line": 417,
                                                  "column": 42
                                                },
                                                "end": {
                                                  "line": 417,
                                                  "column": 59
                                                }
                                              },
                                              "name": "chosenItemOpacity"
                                            },
                                            "computed": false
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 15320,
                      "end": 15332,
                      "loc": {
                        "start": {
                          "line": 420,
                          "column": 8
                        },
                        "end": {
                          "line": 420,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "Literal",
                        "start": 15327,
                        "end": 15331,
                        "loc": {
                          "start": {
                            "line": 420,
                            "column": 15
                          },
                          "end": {
                            "line": 420,
                            "column": 19
                          }
                        },
                        "value": true,
                        "rawValue": true,
                        "raw": "true"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 15344,
              "end": 16466,
              "loc": {
                "start": {
                  "line": 423,
                  "column": 4
                },
                "end": {
                  "line": 459,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 15350,
                "end": 15364,
                "loc": {
                  "start": {
                    "line": 423,
                    "column": 10
                  },
                  "end": {
                    "line": 423,
                    "column": 24
                  }
                },
                "name": "deselectSketch"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 15364,
                "end": 16466,
                "loc": {
                  "start": {
                    "line": 423,
                    "column": 24
                  },
                  "end": {
                    "line": 459,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 15365,
                    "end": 15372,
                    "loc": {
                      "start": {
                        "line": 423,
                        "column": 25
                      },
                      "end": {
                        "line": 423,
                        "column": 32
                      }
                    },
                    "name": "options"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 15374,
                  "end": 16466,
                  "loc": {
                    "start": {
                      "line": 423,
                      "column": 34
                    },
                    "end": {
                      "line": 459,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 15384,
                      "end": 15441,
                      "loc": {
                        "start": {
                          "line": 424,
                          "column": 8
                        },
                        "end": {
                          "line": 425,
                          "column": 24
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 15388,
                        "end": 15415,
                        "loc": {
                          "start": {
                            "line": 424,
                            "column": 12
                          },
                          "end": {
                            "line": 424,
                            "column": 39
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 15388,
                          "end": 15406,
                          "loc": {
                            "start": {
                              "line": 424,
                              "column": 12
                            },
                            "end": {
                              "line": 424,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 15388,
                            "end": 15392,
                            "loc": {
                              "start": {
                                "line": 424,
                                "column": 12
                              },
                              "end": {
                                "line": 424,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15393,
                            "end": 15406,
                            "loc": {
                              "start": {
                                "line": 424,
                                "column": 17
                              },
                              "end": {
                                "line": 424,
                                "column": 30
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 15411,
                          "end": 15415,
                          "loc": {
                            "start": {
                              "line": 424,
                              "column": 35
                            },
                            "end": {
                              "line": 424,
                              "column": 39
                            }
                          },
                          "value": null,
                          "rawValue": null,
                          "raw": "null"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 15429,
                        "end": 15441,
                        "loc": {
                          "start": {
                            "line": 425,
                            "column": 12
                          },
                          "end": {
                            "line": 425,
                            "column": 24
                          }
                        },
                        "argument": {
                          "type": "Literal",
                          "start": 15436,
                          "end": 15440,
                          "loc": {
                            "start": {
                              "line": 425,
                              "column": 19
                            },
                            "end": {
                              "line": 425,
                              "column": 23
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 15451,
                      "end": 15496,
                      "loc": {
                        "start": {
                          "line": 427,
                          "column": 8
                        },
                        "end": {
                          "line": 427,
                          "column": 53
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 15455,
                          "end": 15495,
                          "loc": {
                            "start": {
                              "line": 427,
                              "column": 12
                            },
                            "end": {
                              "line": 427,
                              "column": 52
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 15455,
                            "end": 15459,
                            "loc": {
                              "start": {
                                "line": 427,
                                "column": 12
                              },
                              "end": {
                                "line": 427,
                                "column": 16
                              }
                            },
                            "name": "item"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 15462,
                            "end": 15495,
                            "loc": {
                              "start": {
                                "line": 427,
                                "column": 19
                              },
                              "end": {
                                "line": 427,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 15462,
                              "end": 15490,
                              "loc": {
                                "start": {
                                  "line": 427,
                                  "column": 19
                                },
                                "end": {
                                  "line": 427,
                                  "column": 47
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 15462,
                                "end": 15488,
                                "loc": {
                                  "start": {
                                    "line": 427,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 427,
                                    "column": 45
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 15462,
                                  "end": 15480,
                                  "loc": {
                                    "start": {
                                      "line": 427,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 427,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 15462,
                                    "end": 15466,
                                    "loc": {
                                      "start": {
                                        "line": 427,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 427,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15467,
                                    "end": 15480,
                                    "loc": {
                                      "start": {
                                        "line": 427,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 427,
                                        "column": 37
                                      }
                                    },
                                    "name": "currentSketch"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15481,
                                  "end": 15488,
                                  "loc": {
                                    "start": {
                                      "line": 427,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 427,
                                      "column": 45
                                    }
                                  },
                                  "name": "getPart"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15491,
                              "end": 15495,
                              "loc": {
                                "start": {
                                  "line": 427,
                                  "column": 48
                                },
                                "end": {
                                  "line": 427,
                                  "column": 52
                                }
                              },
                              "name": "item"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 15505,
                      "end": 15727,
                      "loc": {
                        "start": {
                          "line": 428,
                          "column": 8
                        },
                        "end": {
                          "line": 433,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 15509,
                        "end": 15553,
                        "loc": {
                          "start": {
                            "line": 428,
                            "column": 12
                          },
                          "end": {
                            "line": 428,
                            "column": 56
                          }
                        },
                        "left": {
                          "type": "LogicalExpression",
                          "start": 15509,
                          "end": 15531,
                          "loc": {
                            "start": {
                              "line": 428,
                              "column": 12
                            },
                            "end": {
                              "line": 428,
                              "column": 34
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 15509,
                            "end": 15513,
                            "loc": {
                              "start": {
                                "line": 428,
                                "column": 12
                              },
                              "end": {
                                "line": 428,
                                "column": 16
                              }
                            },
                            "name": "item"
                          },
                          "operator": "&&",
                          "right": {
                            "type": "MemberExpression",
                            "start": 15517,
                            "end": 15531,
                            "loc": {
                              "start": {
                                "line": 428,
                                "column": 20
                              },
                              "end": {
                                "line": 428,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 15517,
                              "end": 15521,
                              "loc": {
                                "start": {
                                  "line": 428,
                                  "column": 20
                                },
                                "end": {
                                  "line": 428,
                                  "column": 24
                                }
                              },
                              "name": "item"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15522,
                              "end": 15531,
                              "loc": {
                                "start": {
                                  "line": 428,
                                  "column": 25
                                },
                                "end": {
                                  "line": 428,
                                  "column": 34
                                }
                              },
                              "name": "materials"
                            },
                            "computed": false
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "MemberExpression",
                          "start": 15535,
                          "end": 15553,
                          "loc": {
                            "start": {
                              "line": 428,
                              "column": 38
                            },
                            "end": {
                              "line": 428,
                              "column": 56
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 15535,
                            "end": 15549,
                            "loc": {
                              "start": {
                                "line": 428,
                                "column": 38
                              },
                              "end": {
                                "line": 428,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 15535,
                              "end": 15539,
                              "loc": {
                                "start": {
                                  "line": 428,
                                  "column": 38
                                },
                                "end": {
                                  "line": 428,
                                  "column": 42
                                }
                              },
                              "name": "item"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15540,
                              "end": 15549,
                              "loc": {
                                "start": {
                                  "line": 428,
                                  "column": 43
                                },
                                "end": {
                                  "line": 428,
                                  "column": 52
                                }
                              },
                              "name": "materials"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15550,
                            "end": 15553,
                            "loc": {
                              "start": {
                                "line": 428,
                                "column": 53
                              },
                              "end": {
                                "line": 428,
                                "column": 56
                              }
                            },
                            "name": "all"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 15555,
                        "end": 15727,
                        "loc": {
                          "start": {
                            "line": 428,
                            "column": 58
                          },
                          "end": {
                            "line": 433,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 15569,
                            "end": 15717,
                            "loc": {
                              "start": {
                                "line": 429,
                                "column": 12
                              },
                              "end": {
                                "line": 432,
                                "column": 15
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 15569,
                              "end": 15716,
                              "loc": {
                                "start": {
                                  "line": 429,
                                  "column": 12
                                },
                                "end": {
                                  "line": 432,
                                  "column": 14
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 15569,
                                "end": 15595,
                                "loc": {
                                  "start": {
                                    "line": 429,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 429,
                                    "column": 38
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 15569,
                                  "end": 15587,
                                  "loc": {
                                    "start": {
                                      "line": 429,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 429,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 15569,
                                    "end": 15583,
                                    "loc": {
                                      "start": {
                                        "line": 429,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 429,
                                        "column": 26
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 15569,
                                      "end": 15573,
                                      "loc": {
                                        "start": {
                                          "line": 429,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 429,
                                          "column": 16
                                        }
                                      },
                                      "name": "item"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15574,
                                      "end": 15583,
                                      "loc": {
                                        "start": {
                                          "line": 429,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 429,
                                          "column": 26
                                        }
                                      },
                                      "name": "materials"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15584,
                                    "end": 15587,
                                    "loc": {
                                      "start": {
                                        "line": 429,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 429,
                                        "column": 30
                                      }
                                    },
                                    "name": "all"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15588,
                                  "end": 15595,
                                  "loc": {
                                    "start": {
                                      "line": 429,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 429,
                                      "column": 38
                                    }
                                  },
                                  "name": "forEach"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "FunctionExpression",
                                  "start": 15596,
                                  "end": 15715,
                                  "loc": {
                                    "start": {
                                      "line": 429,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 432,
                                      "column": 13
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 15606,
                                      "end": 15614,
                                      "loc": {
                                        "start": {
                                          "line": 429,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 429,
                                          "column": 57
                                        }
                                      },
                                      "name": "material"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 15616,
                                    "end": 15715,
                                    "loc": {
                                      "start": {
                                        "line": 429,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 432,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 15634,
                                        "end": 15655,
                                        "loc": {
                                          "start": {
                                            "line": 430,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 430,
                                            "column": 37
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 15634,
                                          "end": 15654,
                                          "loc": {
                                            "start": {
                                              "line": 430,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 430,
                                              "column": 36
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 15634,
                                            "end": 15650,
                                            "loc": {
                                              "start": {
                                                "line": 430,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 430,
                                                "column": 32
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 15634,
                                              "end": 15642,
                                              "loc": {
                                                "start": {
                                                  "line": 430,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 430,
                                                  "column": 24
                                                }
                                              },
                                              "name": "material"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 15643,
                                              "end": 15650,
                                              "loc": {
                                                "start": {
                                                  "line": 430,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 430,
                                                  "column": 32
                                                }
                                              },
                                              "name": "opacity"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "Literal",
                                            "start": 15653,
                                            "end": 15654,
                                            "loc": {
                                              "start": {
                                                "line": 430,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 430,
                                                "column": 36
                                              }
                                            },
                                            "value": 1,
                                            "rawValue": 1,
                                            "raw": "1"
                                          }
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 15672,
                                        "end": 15701,
                                        "loc": {
                                          "start": {
                                            "line": 431,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 431,
                                            "column": 45
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 15672,
                                          "end": 15700,
                                          "loc": {
                                            "start": {
                                              "line": 431,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 431,
                                              "column": 44
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 15672,
                                            "end": 15692,
                                            "loc": {
                                              "start": {
                                                "line": 431,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 431,
                                                "column": 36
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 15672,
                                              "end": 15680,
                                              "loc": {
                                                "start": {
                                                  "line": 431,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 431,
                                                  "column": 24
                                                }
                                              },
                                              "name": "material"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 15681,
                                              "end": 15692,
                                              "loc": {
                                                "start": {
                                                  "line": 431,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 431,
                                                  "column": 36
                                                }
                                              },
                                              "name": "transparent"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "Literal",
                                            "start": 15695,
                                            "end": 15700,
                                            "loc": {
                                              "start": {
                                                "line": 431,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 431,
                                                "column": 44
                                              }
                                            },
                                            "value": false,
                                            "rawValue": false,
                                            "raw": "false"
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15737,
                      "end": 15787,
                      "loc": {
                        "start": {
                          "line": 435,
                          "column": 8
                        },
                        "end": {
                          "line": 435,
                          "column": 58
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 15737,
                        "end": 15786,
                        "loc": {
                          "start": {
                            "line": 435,
                            "column": 8
                          },
                          "end": {
                            "line": 435,
                            "column": 57
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 15737,
                          "end": 15767,
                          "loc": {
                            "start": {
                              "line": 435,
                              "column": 8
                            },
                            "end": {
                              "line": 435,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 15737,
                            "end": 15741,
                            "loc": {
                              "start": {
                                "line": 435,
                                "column": 8
                              },
                              "end": {
                                "line": 435,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15742,
                            "end": 15767,
                            "loc": {
                              "start": {
                                "line": 435,
                                "column": 13
                              },
                              "end": {
                                "line": 435,
                                "column": 38
                              }
                            },
                            "name": "switchToPerspectiveCamera"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 15768,
                            "end": 15785,
                            "loc": {
                              "start": {
                                "line": 435,
                                "column": 39
                              },
                              "end": {
                                "line": 435,
                                "column": 56
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 15768,
                              "end": 15772,
                              "loc": {
                                "start": {
                                  "line": 435,
                                  "column": 39
                                },
                                "end": {
                                  "line": 435,
                                  "column": 43
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15773,
                              "end": 15785,
                              "loc": {
                                "start": {
                                  "line": 435,
                                  "column": 44
                                },
                                "end": {
                                  "line": 435,
                                  "column": 56
                                }
                              },
                              "name": "__parentView"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15796,
                      "end": 15832,
                      "loc": {
                        "start": {
                          "line": 436,
                          "column": 8
                        },
                        "end": {
                          "line": 436,
                          "column": 44
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 15796,
                        "end": 15831,
                        "loc": {
                          "start": {
                            "line": 436,
                            "column": 8
                          },
                          "end": {
                            "line": 436,
                            "column": 43
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 15796,
                          "end": 15824,
                          "loc": {
                            "start": {
                              "line": 436,
                              "column": 8
                            },
                            "end": {
                              "line": 436,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 15796,
                            "end": 15800,
                            "loc": {
                              "start": {
                                "line": 436,
                                "column": 8
                              },
                              "end": {
                                "line": 436,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15801,
                            "end": 15824,
                            "loc": {
                              "start": {
                                "line": 436,
                                "column": 13
                              },
                              "end": {
                                "line": 436,
                                "column": 36
                              }
                            },
                            "name": "requestAllButtonChanges"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 15825,
                            "end": 15830,
                            "loc": {
                              "start": {
                                "line": 436,
                                "column": 37
                              },
                              "end": {
                                "line": 436,
                                "column": 42
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15841,
                      "end": 15869,
                      "loc": {
                        "start": {
                          "line": 437,
                          "column": 8
                        },
                        "end": {
                          "line": 437,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 15841,
                        "end": 15868,
                        "loc": {
                          "start": {
                            "line": 437,
                            "column": 8
                          },
                          "end": {
                            "line": 437,
                            "column": 35
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 15847,
                          "end": 15868,
                          "loc": {
                            "start": {
                              "line": 437,
                              "column": 14
                            },
                            "end": {
                              "line": 437,
                              "column": 35
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 15847,
                            "end": 15862,
                            "loc": {
                              "start": {
                                "line": 437,
                                "column": 14
                              },
                              "end": {
                                "line": 437,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 15847,
                              "end": 15851,
                              "loc": {
                                "start": {
                                  "line": 437,
                                  "column": 14
                                },
                                "end": {
                                  "line": 437,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15852,
                              "end": 15862,
                              "loc": {
                                "start": {
                                  "line": 437,
                                  "column": 19
                                },
                                "end": {
                                  "line": 437,
                                  "column": 29
                                }
                              },
                              "name": "chooseTool"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 15863,
                              "end": 15867,
                              "loc": {
                                "start": {
                                  "line": 437,
                                  "column": 30
                                },
                                "end": {
                                  "line": 437,
                                  "column": 34
                                }
                              },
                              "value": null,
                              "rawValue": null,
                              "raw": "null"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15879,
                      "end": 15909,
                      "loc": {
                        "start": {
                          "line": 439,
                          "column": 8
                        },
                        "end": {
                          "line": 439,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 15879,
                        "end": 15908,
                        "loc": {
                          "start": {
                            "line": 439,
                            "column": 8
                          },
                          "end": {
                            "line": 439,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 15879,
                          "end": 15906,
                          "loc": {
                            "start": {
                              "line": 439,
                              "column": 8
                            },
                            "end": {
                              "line": 439,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 15879,
                            "end": 15897,
                            "loc": {
                              "start": {
                                "line": 439,
                                "column": 8
                              },
                              "end": {
                                "line": 439,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 15879,
                              "end": 15883,
                              "loc": {
                                "start": {
                                  "line": 439,
                                  "column": 8
                                },
                                "end": {
                                  "line": 439,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15884,
                              "end": 15897,
                              "loc": {
                                "start": {
                                  "line": 439,
                                  "column": 13
                                },
                                "end": {
                                  "line": 439,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15898,
                            "end": 15906,
                            "loc": {
                              "start": {
                                "line": 439,
                                "column": 27
                              },
                              "end": {
                                "line": 439,
                                "column": 35
                              }
                            },
                            "name": "hideGrid"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15918,
                      "end": 15954,
                      "loc": {
                        "start": {
                          "line": 440,
                          "column": 8
                        },
                        "end": {
                          "line": 440,
                          "column": 44
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 15918,
                        "end": 15953,
                        "loc": {
                          "start": {
                            "line": 440,
                            "column": 8
                          },
                          "end": {
                            "line": 440,
                            "column": 43
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 15918,
                          "end": 15951,
                          "loc": {
                            "start": {
                              "line": 440,
                              "column": 8
                            },
                            "end": {
                              "line": 440,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 15918,
                            "end": 15936,
                            "loc": {
                              "start": {
                                "line": 440,
                                "column": 8
                              },
                              "end": {
                                "line": 440,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 15918,
                              "end": 15922,
                              "loc": {
                                "start": {
                                  "line": 440,
                                  "column": 8
                                },
                                "end": {
                                  "line": 440,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15923,
                              "end": 15936,
                              "loc": {
                                "start": {
                                  "line": 440,
                                  "column": 13
                                },
                                "end": {
                                  "line": 440,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15937,
                            "end": 15951,
                            "loc": {
                              "start": {
                                "line": 440,
                                "column": 27
                              },
                              "end": {
                                "line": 440,
                                "column": 41
                              }
                            },
                            "name": "hideDimensions"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15963,
                      "end": 16000,
                      "loc": {
                        "start": {
                          "line": 441,
                          "column": 8
                        },
                        "end": {
                          "line": 441,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 15963,
                        "end": 15999,
                        "loc": {
                          "start": {
                            "line": 441,
                            "column": 8
                          },
                          "end": {
                            "line": 441,
                            "column": 44
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 15963,
                          "end": 15997,
                          "loc": {
                            "start": {
                              "line": 441,
                              "column": 8
                            },
                            "end": {
                              "line": 441,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 15963,
                            "end": 15981,
                            "loc": {
                              "start": {
                                "line": 441,
                                "column": 8
                              },
                              "end": {
                                "line": 441,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 15963,
                              "end": 15967,
                              "loc": {
                                "start": {
                                  "line": 441,
                                  "column": 8
                                },
                                "end": {
                                  "line": 441,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15968,
                              "end": 15981,
                              "loc": {
                                "start": {
                                  "line": 441,
                                  "column": 13
                                },
                                "end": {
                                  "line": 441,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15982,
                            "end": 15997,
                            "loc": {
                              "start": {
                                "line": 441,
                                "column": 27
                              },
                              "end": {
                                "line": 441,
                                "column": 42
                              }
                            },
                            "name": "hideConstraints"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 16010,
                      "end": 16042,
                      "loc": {
                        "start": {
                          "line": 443,
                          "column": 8
                        },
                        "end": {
                          "line": 443,
                          "column": 40
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 16014,
                          "end": 16041,
                          "loc": {
                            "start": {
                              "line": 443,
                              "column": 12
                            },
                            "end": {
                              "line": 443,
                              "column": 39
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 16014,
                            "end": 16020,
                            "loc": {
                              "start": {
                                "line": 443,
                                "column": 12
                              },
                              "end": {
                                "line": 443,
                                "column": 18
                              }
                            },
                            "name": "sketch"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 16023,
                            "end": 16041,
                            "loc": {
                              "start": {
                                "line": 443,
                                "column": 21
                              },
                              "end": {
                                "line": 443,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16023,
                              "end": 16027,
                              "loc": {
                                "start": {
                                  "line": 443,
                                  "column": 21
                                },
                                "end": {
                                  "line": 443,
                                  "column": 25
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16028,
                              "end": 16041,
                              "loc": {
                                "start": {
                                  "line": 443,
                                  "column": 26
                                },
                                "end": {
                                  "line": 443,
                                  "column": 39
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16051,
                      "end": 16075,
                      "loc": {
                        "start": {
                          "line": 444,
                          "column": 8
                        },
                        "end": {
                          "line": 444,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 16051,
                        "end": 16074,
                        "loc": {
                          "start": {
                            "line": 444,
                            "column": 8
                          },
                          "end": {
                            "line": 444,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 16051,
                          "end": 16058,
                          "loc": {
                            "start": {
                              "line": 444,
                              "column": 8
                            },
                            "end": {
                              "line": 444,
                              "column": 15
                            }
                          },
                          "name": "options"
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 16061,
                          "end": 16074,
                          "loc": {
                            "start": {
                              "line": 444,
                              "column": 18
                            },
                            "end": {
                              "line": 444,
                              "column": 31
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 16061,
                            "end": 16068,
                            "loc": {
                              "start": {
                                "line": 444,
                                "column": 18
                              },
                              "end": {
                                "line": 444,
                                "column": 25
                              }
                            },
                            "name": "options"
                          },
                          "operator": "||",
                          "right": {
                            "type": "ObjectExpression",
                            "start": 16072,
                            "end": 16074,
                            "loc": {
                              "start": {
                                "line": 444,
                                "column": 29
                              },
                              "end": {
                                "line": 444,
                                "column": 31
                              }
                            },
                            "properties": []
                          }
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 16084,
                      "end": 16244,
                      "loc": {
                        "start": {
                          "line": 445,
                          "column": 8
                        },
                        "end": {
                          "line": 448,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 16088,
                        "end": 16112,
                        "loc": {
                          "start": {
                            "line": 445,
                            "column": 12
                          },
                          "end": {
                            "line": 445,
                            "column": 36
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 16089,
                          "end": 16112,
                          "loc": {
                            "start": {
                              "line": 445,
                              "column": 13
                            },
                            "end": {
                              "line": 445,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 16089,
                            "end": 16096,
                            "loc": {
                              "start": {
                                "line": 445,
                                "column": 13
                              },
                              "end": {
                                "line": 445,
                                "column": 20
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16097,
                            "end": 16112,
                            "loc": {
                              "start": {
                                "line": 445,
                                "column": 21
                              },
                              "end": {
                                "line": 445,
                                "column": 36
                              }
                            },
                            "name": "skipServerCalls"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 16114,
                        "end": 16244,
                        "loc": {
                          "start": {
                            "line": 445,
                            "column": 38
                          },
                          "end": {
                            "line": 448,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 16128,
                            "end": 16178,
                            "loc": {
                              "start": {
                                "line": 446,
                                "column": 12
                              },
                              "end": {
                                "line": 446,
                                "column": 62
                              }
                            },
                            "expression": {
                              "type": "AwaitExpression",
                              "start": 16128,
                              "end": 16177,
                              "loc": {
                                "start": {
                                  "line": 446,
                                  "column": 12
                                },
                                "end": {
                                  "line": 446,
                                  "column": 61
                                }
                              },
                              "all": false,
                              "argument": {
                                "type": "CallExpression",
                                "start": 16134,
                                "end": 16177,
                                "loc": {
                                  "start": {
                                    "line": 446,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 446,
                                    "column": 61
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 16134,
                                  "end": 16164,
                                  "loc": {
                                    "start": {
                                      "line": 446,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 446,
                                      "column": 48
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 16134,
                                    "end": 16156,
                                    "loc": {
                                      "start": {
                                        "line": 446,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 446,
                                        "column": 40
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 16134,
                                      "end": 16148,
                                      "loc": {
                                        "start": {
                                          "line": 446,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 446,
                                          "column": 32
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 16134,
                                        "end": 16141,
                                        "loc": {
                                          "start": {
                                            "line": 446,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 446,
                                            "column": 25
                                          }
                                        },
                                        "name": "Interop"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 16142,
                                        "end": 16148,
                                        "loc": {
                                          "start": {
                                            "line": 446,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 446,
                                            "column": 32
                                          }
                                        },
                                        "name": "Recalc"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 16149,
                                        "end": 16155,
                                        "loc": {
                                          "start": {
                                            "line": 446,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 446,
                                            "column": 39
                                          }
                                        },
                                        "name": "sketch"
                                      }
                                    ]
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 16157,
                                    "end": 16164,
                                    "loc": {
                                      "start": {
                                        "line": 446,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 446,
                                        "column": 48
                                      }
                                    },
                                    "name": "execute"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 16165,
                                    "end": 16176,
                                    "loc": {
                                      "start": {
                                        "line": 446,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 446,
                                        "column": 60
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 16165,
                                      "end": 16169,
                                      "loc": {
                                        "start": {
                                          "line": 446,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 446,
                                          "column": 53
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 16170,
                                      "end": 16176,
                                      "loc": {
                                        "start": {
                                          "line": 446,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 446,
                                          "column": 60
                                        }
                                      },
                                      "name": "server"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 16191,
                            "end": 16234,
                            "loc": {
                              "start": {
                                "line": 447,
                                "column": 12
                              },
                              "end": {
                                "line": 447,
                                "column": 55
                              }
                            },
                            "expression": {
                              "type": "AwaitExpression",
                              "start": 16191,
                              "end": 16233,
                              "loc": {
                                "start": {
                                  "line": 447,
                                  "column": 12
                                },
                                "end": {
                                  "line": 447,
                                  "column": 54
                                }
                              },
                              "all": false,
                              "argument": {
                                "type": "CallExpression",
                                "start": 16197,
                                "end": 16233,
                                "loc": {
                                  "start": {
                                    "line": 447,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 447,
                                    "column": 54
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 16197,
                                  "end": 16220,
                                  "loc": {
                                    "start": {
                                      "line": 447,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 447,
                                      "column": 41
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 16197,
                                    "end": 16203,
                                    "loc": {
                                      "start": {
                                        "line": 447,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 447,
                                        "column": 24
                                      }
                                    },
                                    "name": "sketch"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 16204,
                                    "end": 16220,
                                    "loc": {
                                      "start": {
                                        "line": 447,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 447,
                                        "column": 41
                                      }
                                    },
                                    "name": "updateFromServer"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 16221,
                                    "end": 16232,
                                    "loc": {
                                      "start": {
                                        "line": 447,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 447,
                                        "column": 53
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 16221,
                                      "end": 16225,
                                      "loc": {
                                        "start": {
                                          "line": 447,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 447,
                                          "column": 46
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 16226,
                                      "end": 16232,
                                      "loc": {
                                        "start": {
                                          "line": 447,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 447,
                                          "column": 53
                                        }
                                      },
                                      "name": "server"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16254,
                      "end": 16285,
                      "loc": {
                        "start": {
                          "line": 450,
                          "column": 8
                        },
                        "end": {
                          "line": 450,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 16254,
                        "end": 16284,
                        "loc": {
                          "start": {
                            "line": 450,
                            "column": 8
                          },
                          "end": {
                            "line": 450,
                            "column": 38
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16254,
                          "end": 16282,
                          "loc": {
                            "start": {
                              "line": 450,
                              "column": 8
                            },
                            "end": {
                              "line": 450,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 16254,
                            "end": 16272,
                            "loc": {
                              "start": {
                                "line": 450,
                                "column": 8
                              },
                              "end": {
                                "line": 450,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16254,
                              "end": 16258,
                              "loc": {
                                "start": {
                                  "line": 450,
                                  "column": 8
                                },
                                "end": {
                                  "line": 450,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16259,
                              "end": 16272,
                              "loc": {
                                "start": {
                                  "line": 450,
                                  "column": 13
                                },
                                "end": {
                                  "line": 450,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16273,
                            "end": 16282,
                            "loc": {
                              "start": {
                                "line": 450,
                                "column": 27
                              },
                              "end": {
                                "line": 450,
                                "column": 36
                              }
                            },
                            "name": "updateBox"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16295,
                      "end": 16321,
                      "loc": {
                        "start": {
                          "line": 452,
                          "column": 8
                        },
                        "end": {
                          "line": 452,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 16295,
                        "end": 16320,
                        "loc": {
                          "start": {
                            "line": 452,
                            "column": 8
                          },
                          "end": {
                            "line": 452,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 16295,
                          "end": 16313,
                          "loc": {
                            "start": {
                              "line": 452,
                              "column": 8
                            },
                            "end": {
                              "line": 452,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 16295,
                            "end": 16299,
                            "loc": {
                              "start": {
                                "line": 452,
                                "column": 8
                              },
                              "end": {
                                "line": 452,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16300,
                            "end": 16313,
                            "loc": {
                              "start": {
                                "line": 452,
                                "column": 13
                              },
                              "end": {
                                "line": 452,
                                "column": 26
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 16316,
                          "end": 16320,
                          "loc": {
                            "start": {
                              "line": 452,
                              "column": 29
                            },
                            "end": {
                              "line": 452,
                              "column": 33
                            }
                          },
                          "value": null,
                          "rawValue": null,
                          "raw": "null"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16330,
                      "end": 16370,
                      "loc": {
                        "start": {
                          "line": 453,
                          "column": 8
                        },
                        "end": {
                          "line": 453,
                          "column": 48
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 16330,
                        "end": 16369,
                        "loc": {
                          "start": {
                            "line": 453,
                            "column": 8
                          },
                          "end": {
                            "line": 453,
                            "column": 47
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 16330,
                          "end": 16361,
                          "loc": {
                            "start": {
                              "line": 453,
                              "column": 8
                            },
                            "end": {
                              "line": 453,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 16330,
                            "end": 16344,
                            "loc": {
                              "start": {
                                "line": 453,
                                "column": 8
                              },
                              "end": {
                                "line": 453,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16330,
                              "end": 16334,
                              "loc": {
                                "start": {
                                  "line": 453,
                                  "column": 8
                                },
                                "end": {
                                  "line": 453,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16335,
                              "end": 16344,
                              "loc": {
                                "start": {
                                  "line": 453,
                                  "column": 13
                                },
                                "end": {
                                  "line": 453,
                                  "column": 22
                                }
                              },
                              "name": "modelData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16345,
                            "end": 16361,
                            "loc": {
                              "start": {
                                "line": 453,
                                "column": 23
                              },
                              "end": {
                                "line": 453,
                                "column": 39
                              }
                            },
                            "name": "isSketchSelected"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 16364,
                          "end": 16369,
                          "loc": {
                            "start": {
                              "line": 453,
                              "column": 42
                            },
                            "end": {
                              "line": 453,
                              "column": 47
                            }
                          },
                          "value": false,
                          "rawValue": false,
                          "raw": "false"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16379,
                      "end": 16413,
                      "loc": {
                        "start": {
                          "line": 454,
                          "column": 8
                        },
                        "end": {
                          "line": 454,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 16379,
                        "end": 16412,
                        "loc": {
                          "start": {
                            "line": 454,
                            "column": 8
                          },
                          "end": {
                            "line": 454,
                            "column": 41
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 16379,
                          "end": 16407,
                          "loc": {
                            "start": {
                              "line": 454,
                              "column": 8
                            },
                            "end": {
                              "line": 454,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 16379,
                            "end": 16393,
                            "loc": {
                              "start": {
                                "line": 454,
                                "column": 8
                              },
                              "end": {
                                "line": 454,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16379,
                              "end": 16383,
                              "loc": {
                                "start": {
                                  "line": 454,
                                  "column": 8
                                },
                                "end": {
                                  "line": 454,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16384,
                              "end": 16393,
                              "loc": {
                                "start": {
                                  "line": 454,
                                  "column": 13
                                },
                                "end": {
                                  "line": 454,
                                  "column": 22
                                }
                              },
                              "name": "modelData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16394,
                            "end": 16407,
                            "loc": {
                              "start": {
                                "line": 454,
                                "column": 23
                              },
                              "end": {
                                "line": 454,
                                "column": 36
                              }
                            },
                            "name": "expressionSet"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 16410,
                          "end": 16412,
                          "loc": {
                            "start": {
                              "line": 454,
                              "column": 39
                            },
                            "end": {
                              "line": 454,
                              "column": 41
                            }
                          },
                          "elements": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16423,
                      "end": 16438,
                      "loc": {
                        "start": {
                          "line": 456,
                          "column": 8
                        },
                        "end": {
                          "line": 456,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 16423,
                        "end": 16437,
                        "loc": {
                          "start": {
                            "line": 456,
                            "column": 8
                          },
                          "end": {
                            "line": 456,
                            "column": 22
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16423,
                          "end": 16435,
                          "loc": {
                            "start": {
                              "line": 456,
                              "column": 8
                            },
                            "end": {
                              "line": 456,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 16423,
                            "end": 16427,
                            "loc": {
                              "start": {
                                "line": 456,
                                "column": 8
                              },
                              "end": {
                                "line": 456,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16428,
                            "end": 16435,
                            "loc": {
                              "start": {
                                "line": 456,
                                "column": 13
                              },
                              "end": {
                                "line": 456,
                                "column": 20
                              }
                            },
                            "name": "refresh"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 16448,
                      "end": 16460,
                      "loc": {
                        "start": {
                          "line": 458,
                          "column": 8
                        },
                        "end": {
                          "line": 458,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "Literal",
                        "start": 16455,
                        "end": 16459,
                        "loc": {
                          "start": {
                            "line": 458,
                            "column": 15
                          },
                          "end": {
                            "line": 458,
                            "column": 19
                          }
                        },
                        "value": true,
                        "rawValue": true,
                        "raw": "true"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 16472,
              "end": 16625,
              "loc": {
                "start": {
                  "line": 461,
                  "column": 4
                },
                "end": {
                  "line": 465,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 16472,
                "end": 16483,
                "loc": {
                  "start": {
                    "line": 461,
                    "column": 4
                  },
                  "end": {
                    "line": 461,
                    "column": 15
                  }
                },
                "name": "buttonClick"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 16483,
                "end": 16625,
                "loc": {
                  "start": {
                    "line": 461,
                    "column": 15
                  },
                  "end": {
                    "line": 465,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 16484,
                    "end": 16492,
                    "loc": {
                      "start": {
                        "line": 461,
                        "column": 16
                      },
                      "end": {
                        "line": 461,
                        "column": 24
                      }
                    },
                    "name": "buttonId"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 16494,
                  "end": 16625,
                  "loc": {
                    "start": {
                      "line": 461,
                      "column": 26
                    },
                    "end": {
                      "line": 465,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 16504,
                      "end": 16539,
                      "loc": {
                        "start": {
                          "line": 462,
                          "column": 8
                        },
                        "end": {
                          "line": 462,
                          "column": 43
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 16510,
                          "end": 16538,
                          "loc": {
                            "start": {
                              "line": 462,
                              "column": 14
                            },
                            "end": {
                              "line": 462,
                              "column": 42
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 16510,
                            "end": 16516,
                            "loc": {
                              "start": {
                                "line": 462,
                                "column": 14
                              },
                              "end": {
                                "line": 462,
                                "column": 20
                              }
                            },
                            "name": "tokens"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 16519,
                            "end": 16538,
                            "loc": {
                              "start": {
                                "line": 462,
                                "column": 23
                              },
                              "end": {
                                "line": 462,
                                "column": 42
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 16519,
                              "end": 16533,
                              "loc": {
                                "start": {
                                  "line": 462,
                                  "column": 23
                                },
                                "end": {
                                  "line": 462,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 16519,
                                "end": 16527,
                                "loc": {
                                  "start": {
                                    "line": 462,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 462,
                                    "column": 31
                                  }
                                },
                                "name": "buttonId"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 16528,
                                "end": 16533,
                                "loc": {
                                  "start": {
                                    "line": 462,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 462,
                                    "column": 37
                                  }
                                },
                                "name": "split"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 16534,
                                "end": 16537,
                                "loc": {
                                  "start": {
                                    "line": 462,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 462,
                                    "column": 41
                                  }
                                },
                                "value": " ",
                                "rawValue": " ",
                                "raw": "' '"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "IfStatement",
                      "start": 16548,
                      "end": 16619,
                      "loc": {
                        "start": {
                          "line": 463,
                          "column": 8
                        },
                        "end": {
                          "line": 464,
                          "column": 39
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 16552,
                        "end": 16578,
                        "loc": {
                          "start": {
                            "line": 463,
                            "column": 12
                          },
                          "end": {
                            "line": 463,
                            "column": 38
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 16552,
                          "end": 16561,
                          "loc": {
                            "start": {
                              "line": 463,
                              "column": 12
                            },
                            "end": {
                              "line": 463,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 16552,
                            "end": 16558,
                            "loc": {
                              "start": {
                                "line": 463,
                                "column": 12
                              },
                              "end": {
                                "line": 463,
                                "column": 18
                              }
                            },
                            "name": "tokens"
                          },
                          "property": {
                            "type": "Literal",
                            "start": 16559,
                            "end": 16560,
                            "loc": {
                              "start": {
                                "line": 463,
                                "column": 19
                              },
                              "end": {
                                "line": 463,
                                "column": 20
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "computed": true
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 16566,
                          "end": 16578,
                          "loc": {
                            "start": {
                              "line": 463,
                              "column": 26
                            },
                            "end": {
                              "line": 463,
                              "column": 38
                            }
                          },
                          "value": "chooseTool",
                          "rawValue": "chooseTool",
                          "raw": "'chooseTool'"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 16592,
                        "end": 16619,
                        "loc": {
                          "start": {
                            "line": 464,
                            "column": 12
                          },
                          "end": {
                            "line": 464,
                            "column": 39
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 16592,
                          "end": 16618,
                          "loc": {
                            "start": {
                              "line": 464,
                              "column": 12
                            },
                            "end": {
                              "line": 464,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 16592,
                            "end": 16607,
                            "loc": {
                              "start": {
                                "line": 464,
                                "column": 12
                              },
                              "end": {
                                "line": 464,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16592,
                              "end": 16596,
                              "loc": {
                                "start": {
                                  "line": 464,
                                  "column": 12
                                },
                                "end": {
                                  "line": 464,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16597,
                              "end": 16607,
                              "loc": {
                                "start": {
                                  "line": 464,
                                  "column": 17
                                },
                                "end": {
                                  "line": 464,
                                  "column": 27
                                }
                              },
                              "name": "chooseTool"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 16608,
                              "end": 16617,
                              "loc": {
                                "start": {
                                  "line": 464,
                                  "column": 28
                                },
                                "end": {
                                  "line": 464,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 16608,
                                "end": 16614,
                                "loc": {
                                  "start": {
                                    "line": 464,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 464,
                                    "column": 34
                                  }
                                },
                                "name": "tokens"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 16615,
                                "end": 16616,
                                "loc": {
                                  "start": {
                                    "line": 464,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 464,
                                    "column": 36
                                  }
                                },
                                "value": 1,
                                "rawValue": 1,
                                "raw": "1"
                              },
                              "computed": true
                            }
                          ]
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 16631,
              "end": 16738,
              "loc": {
                "start": {
                  "line": 467,
                  "column": 4
                },
                "end": {
                  "line": 469,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 16631,
                "end": 16636,
                "loc": {
                  "start": {
                    "line": 467,
                    "column": 4
                  },
                  "end": {
                    "line": 467,
                    "column": 9
                  }
                },
                "name": "click"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 16636,
                "end": 16738,
                "loc": {
                  "start": {
                    "line": 467,
                    "column": 9
                  },
                  "end": {
                    "line": 469,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 16639,
                  "end": 16738,
                  "loc": {
                    "start": {
                      "line": 467,
                      "column": 12
                    },
                    "end": {
                      "line": 469,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 16649,
                      "end": 16732,
                      "loc": {
                        "start": {
                          "line": 468,
                          "column": 8
                        },
                        "end": {
                          "line": 468,
                          "column": 91
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 16656,
                        "end": 16731,
                        "loc": {
                          "start": {
                            "line": 468,
                            "column": 15
                          },
                          "end": {
                            "line": 468,
                            "column": 90
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16656,
                          "end": 16690,
                          "loc": {
                            "start": {
                              "line": 468,
                              "column": 15
                            },
                            "end": {
                              "line": 468,
                              "column": 49
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 16656,
                            "end": 16684,
                            "loc": {
                              "start": {
                                "line": 468,
                                "column": 15
                              },
                              "end": {
                                "line": 468,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16656,
                              "end": 16660,
                              "loc": {
                                "start": {
                                  "line": 468,
                                  "column": 15
                                },
                                "end": {
                                  "line": 468,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16661,
                              "end": 16684,
                              "loc": {
                                "start": {
                                  "line": 468,
                                  "column": 20
                                },
                                "end": {
                                  "line": 468,
                                  "column": 43
                                }
                              },
                              "name": "__sketchControlsHandler"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16685,
                            "end": 16690,
                            "loc": {
                              "start": {
                                "line": 468,
                                "column": 44
                              },
                              "end": {
                                "line": 468,
                                "column": 49
                              }
                            },
                            "name": "click"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 16691,
                            "end": 16730,
                            "loc": {
                              "start": {
                                "line": 468,
                                "column": 50
                              },
                              "end": {
                                "line": 468,
                                "column": 89
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 16691,
                              "end": 16728,
                              "loc": {
                                "start": {
                                  "line": 468,
                                  "column": 50
                                },
                                "end": {
                                  "line": 468,
                                  "column": 87
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 16691,
                                "end": 16722,
                                "loc": {
                                  "start": {
                                    "line": 468,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 468,
                                    "column": 81
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 16691,
                                  "end": 16705,
                                  "loc": {
                                    "start": {
                                      "line": 468,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 468,
                                      "column": 64
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 16691,
                                    "end": 16695,
                                    "loc": {
                                      "start": {
                                        "line": 468,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 468,
                                        "column": 54
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 16696,
                                    "end": 16705,
                                    "loc": {
                                      "start": {
                                        "line": 468,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 468,
                                        "column": 64
                                      }
                                    },
                                    "name": "modelData"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 16706,
                                  "end": 16722,
                                  "loc": {
                                    "start": {
                                      "line": 468,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 468,
                                      "column": 81
                                    }
                                  },
                                  "name": "interactionPoint"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 16723,
                                "end": 16728,
                                "loc": {
                                  "start": {
                                    "line": 468,
                                    "column": 82
                                  },
                                  "end": {
                                    "line": 468,
                                    "column": 87
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 16744,
              "end": 17024,
              "loc": {
                "start": {
                  "line": 471,
                  "column": 4
                },
                "end": {
                  "line": 476,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 16744,
                "end": 16765,
                "loc": {
                  "start": {
                    "line": 471,
                    "column": 4
                  },
                  "end": {
                    "line": 471,
                    "column": 25
                  }
                },
                "name": "interactionPointMoved"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 16765,
                "end": 17024,
                "loc": {
                  "start": {
                    "line": 471,
                    "column": 25
                  },
                  "end": {
                    "line": 476,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 16768,
                  "end": 17024,
                  "loc": {
                    "start": {
                      "line": 471,
                      "column": 28
                    },
                    "end": {
                      "line": 476,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 16875,
                      "end": 16929,
                      "loc": {
                        "start": {
                          "line": 473,
                          "column": 8
                        },
                        "end": {
                          "line": 474,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 16879,
                        "end": 16908,
                        "loc": {
                          "start": {
                            "line": 473,
                            "column": 12
                          },
                          "end": {
                            "line": 473,
                            "column": 41
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 16880,
                          "end": 16908,
                          "loc": {
                            "start": {
                              "line": 473,
                              "column": 13
                            },
                            "end": {
                              "line": 473,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 16880,
                            "end": 16884,
                            "loc": {
                              "start": {
                                "line": 473,
                                "column": 13
                              },
                              "end": {
                                "line": 473,
                                "column": 17
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16885,
                            "end": 16908,
                            "loc": {
                              "start": {
                                "line": 473,
                                "column": 18
                              },
                              "end": {
                                "line": 473,
                                "column": 41
                              }
                            },
                            "name": "__sketchControlsHandler"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 16922,
                        "end": 16929,
                        "loc": {
                          "start": {
                            "line": 474,
                            "column": 12
                          },
                          "end": {
                            "line": 474,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "during execution of selectSketch, currentSketch is already set, but handler is not set",
                          "start": 16778,
                          "end": 16866,
                          "loc": {
                            "start": {
                              "line": 472,
                              "column": 8
                            },
                            "end": {
                              "line": 472,
                              "column": 96
                            }
                          },
                          "range": [
                            16778,
                            16866
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16938,
                      "end": 17018,
                      "loc": {
                        "start": {
                          "line": 475,
                          "column": 8
                        },
                        "end": {
                          "line": 475,
                          "column": 88
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 16938,
                        "end": 17017,
                        "loc": {
                          "start": {
                            "line": 475,
                            "column": 8
                          },
                          "end": {
                            "line": 475,
                            "column": 87
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16938,
                          "end": 16976,
                          "loc": {
                            "start": {
                              "line": 475,
                              "column": 8
                            },
                            "end": {
                              "line": 475,
                              "column": 46
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 16938,
                            "end": 16966,
                            "loc": {
                              "start": {
                                "line": 475,
                                "column": 8
                              },
                              "end": {
                                "line": 475,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16938,
                              "end": 16942,
                              "loc": {
                                "start": {
                                  "line": 475,
                                  "column": 8
                                },
                                "end": {
                                  "line": 475,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16943,
                              "end": 16966,
                              "loc": {
                                "start": {
                                  "line": 475,
                                  "column": 13
                                },
                                "end": {
                                  "line": 475,
                                  "column": 36
                                }
                              },
                              "name": "__sketchControlsHandler"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16967,
                            "end": 16976,
                            "loc": {
                              "start": {
                                "line": 475,
                                "column": 37
                              },
                              "end": {
                                "line": 475,
                                "column": 46
                              }
                            },
                            "name": "mouseMove"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 16977,
                            "end": 17016,
                            "loc": {
                              "start": {
                                "line": 475,
                                "column": 47
                              },
                              "end": {
                                "line": 475,
                                "column": 86
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 16977,
                              "end": 17014,
                              "loc": {
                                "start": {
                                  "line": 475,
                                  "column": 47
                                },
                                "end": {
                                  "line": 475,
                                  "column": 84
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 16977,
                                "end": 17008,
                                "loc": {
                                  "start": {
                                    "line": 475,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 475,
                                    "column": 78
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 16977,
                                  "end": 16991,
                                  "loc": {
                                    "start": {
                                      "line": 475,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 475,
                                      "column": 61
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 16977,
                                    "end": 16981,
                                    "loc": {
                                      "start": {
                                        "line": 475,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 475,
                                        "column": 51
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 16982,
                                    "end": 16991,
                                    "loc": {
                                      "start": {
                                        "line": 475,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 475,
                                        "column": 61
                                      }
                                    },
                                    "name": "modelData"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 16992,
                                  "end": 17008,
                                  "loc": {
                                    "start": {
                                      "line": 475,
                                      "column": 62
                                    },
                                    "end": {
                                      "line": 475,
                                      "column": 78
                                    }
                                  },
                                  "name": "interactionPoint"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 17009,
                                "end": 17014,
                                "loc": {
                                  "start": {
                                    "line": 475,
                                    "column": 79
                                  },
                                  "end": {
                                    "line": 475,
                                    "column": 84
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 17030,
              "end": 17039,
              "loc": {
                "start": {
                  "line": 478,
                  "column": 4
                },
                "end": {
                  "line": 478,
                  "column": 13
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 17030,
                "end": 17034,
                "loc": {
                  "start": {
                    "line": 478,
                    "column": 4
                  },
                  "end": {
                    "line": 478,
                    "column": 8
                  }
                },
                "name": "undo"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 17034,
                "end": 17039,
                "loc": {
                  "start": {
                    "line": 478,
                    "column": 8
                  },
                  "end": {
                    "line": 478,
                    "column": 13
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 17037,
                  "end": 17039,
                  "loc": {
                    "start": {
                      "line": 478,
                      "column": 11
                    },
                    "end": {
                      "line": 478,
                      "column": 13
                    }
                  },
                  "body": []
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 17045,
              "end": 17054,
              "loc": {
                "start": {
                  "line": 480,
                  "column": 4
                },
                "end": {
                  "line": 480,
                  "column": 13
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 17045,
                "end": 17049,
                "loc": {
                  "start": {
                    "line": 480,
                    "column": 4
                  },
                  "end": {
                    "line": 480,
                    "column": 8
                  }
                },
                "name": "redo"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 17049,
                "end": 17054,
                "loc": {
                  "start": {
                    "line": 480,
                    "column": 8
                  },
                  "end": {
                    "line": 480,
                    "column": 13
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 17052,
                  "end": 17054,
                  "loc": {
                    "start": {
                      "line": 480,
                      "column": 11
                    },
                    "end": {
                      "line": 480,
                      "column": 13
                    }
                  },
                  "body": []
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 17060,
              "end": 17137,
              "loc": {
                "start": {
                  "line": 482,
                  "column": 4
                },
                "end": {
                  "line": 484,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 17060,
                "end": 17069,
                "loc": {
                  "start": {
                    "line": 482,
                    "column": 4
                  },
                  "end": {
                    "line": 482,
                    "column": 13
                  }
                },
                "name": "setPrompt"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 17069,
                "end": 17137,
                "loc": {
                  "start": {
                    "line": 482,
                    "column": 13
                  },
                  "end": {
                    "line": 484,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 17070,
                    "end": 17080,
                    "loc": {
                      "start": {
                        "line": 482,
                        "column": 14
                      },
                      "end": {
                        "line": 482,
                        "column": 24
                      }
                    },
                    "name": "promptText"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 17082,
                  "end": 17137,
                  "loc": {
                    "start": {
                      "line": 482,
                      "column": 26
                    },
                    "end": {
                      "line": 484,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 17092,
                      "end": 17131,
                      "loc": {
                        "start": {
                          "line": 483,
                          "column": 8
                        },
                        "end": {
                          "line": 483,
                          "column": 47
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17092,
                        "end": 17130,
                        "loc": {
                          "start": {
                            "line": 483,
                            "column": 8
                          },
                          "end": {
                            "line": 483,
                            "column": 46
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17092,
                          "end": 17117,
                          "loc": {
                            "start": {
                              "line": 483,
                              "column": 8
                            },
                            "end": {
                              "line": 483,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 17092,
                            "end": 17106,
                            "loc": {
                              "start": {
                                "line": 483,
                                "column": 8
                              },
                              "end": {
                                "line": 483,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 17092,
                              "end": 17096,
                              "loc": {
                                "start": {
                                  "line": 483,
                                  "column": 8
                                },
                                "end": {
                                  "line": 483,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17097,
                              "end": 17106,
                              "loc": {
                                "start": {
                                  "line": 483,
                                  "column": 13
                                },
                                "end": {
                                  "line": 483,
                                  "column": 22
                                }
                              },
                              "name": "modelData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17107,
                            "end": 17117,
                            "loc": {
                              "start": {
                                "line": 483,
                                "column": 23
                              },
                              "end": {
                                "line": 483,
                                "column": 33
                              }
                            },
                            "name": "promptText"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 17120,
                          "end": 17130,
                          "loc": {
                            "start": {
                              "line": 483,
                              "column": 36
                            },
                            "end": {
                              "line": 483,
                              "column": 46
                            }
                          },
                          "name": "promptText"
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 17143,
              "end": 17918,
              "loc": {
                "start": {
                  "line": 486,
                  "column": 4
                },
                "end": {
                  "line": 504,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 17143,
                "end": 17162,
                "loc": {
                  "start": {
                    "line": 486,
                    "column": 4
                  },
                  "end": {
                    "line": 486,
                    "column": 23
                  }
                },
                "name": "askConstraintParams"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 17162,
                "end": 17918,
                "loc": {
                  "start": {
                    "line": 486,
                    "column": 23
                  },
                  "end": {
                    "line": 504,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 17163,
                    "end": 17172,
                    "loc": {
                      "start": {
                        "line": 486,
                        "column": 24
                      },
                      "end": {
                        "line": 486,
                        "column": 33
                      }
                    },
                    "name": "oldParams"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 17174,
                  "end": 17918,
                  "loc": {
                    "start": {
                      "line": 486,
                      "column": 35
                    },
                    "end": {
                      "line": 504,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 17184,
                      "end": 17233,
                      "loc": {
                        "start": {
                          "line": 487,
                          "column": 8
                        },
                        "end": {
                          "line": 487,
                          "column": 57
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 17184,
                        "end": 17232,
                        "loc": {
                          "start": {
                            "line": 487,
                            "column": 8
                          },
                          "end": {
                            "line": 487,
                            "column": 56
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 17184,
                          "end": 17198,
                          "loc": {
                            "start": {
                              "line": 487,
                              "column": 8
                            },
                            "end": {
                              "line": 487,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 17184,
                            "end": 17188,
                            "loc": {
                              "start": {
                                "line": 487,
                                "column": 8
                              },
                              "end": {
                                "line": 487,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17189,
                            "end": 17198,
                            "loc": {
                              "start": {
                                "line": 487,
                                "column": 13
                              },
                              "end": {
                                "line": 487,
                                "column": 22
                              }
                            },
                            "name": "setPrompt"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 17199,
                            "end": 17231,
                            "loc": {
                              "start": {
                                "line": 487,
                                "column": 23
                              },
                              "end": {
                                "line": 487,
                                "column": 55
                              }
                            },
                            "value": "Enter expression, value, fixed",
                            "rawValue": "Enter expression, value, fixed",
                            "raw": "'Enter expression, value, fixed'"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17242,
                      "end": 17301,
                      "loc": {
                        "start": {
                          "line": 488,
                          "column": 8
                        },
                        "end": {
                          "line": 488,
                          "column": 67
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17242,
                        "end": 17300,
                        "loc": {
                          "start": {
                            "line": 488,
                            "column": 8
                          },
                          "end": {
                            "line": 488,
                            "column": 66
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17242,
                          "end": 17277,
                          "loc": {
                            "start": {
                              "line": 488,
                              "column": 8
                            },
                            "end": {
                              "line": 488,
                              "column": 43
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 17242,
                            "end": 17256,
                            "loc": {
                              "start": {
                                "line": 488,
                                "column": 8
                              },
                              "end": {
                                "line": 488,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 17242,
                              "end": 17246,
                              "loc": {
                                "start": {
                                  "line": 488,
                                  "column": 8
                                },
                                "end": {
                                  "line": 488,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17247,
                              "end": 17256,
                              "loc": {
                                "start": {
                                  "line": 488,
                                  "column": 13
                                },
                                "end": {
                                  "line": 488,
                                  "column": 22
                                }
                              },
                              "name": "modelData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17257,
                            "end": 17277,
                            "loc": {
                              "start": {
                                "line": 488,
                                "column": 23
                              },
                              "end": {
                                "line": 488,
                                "column": 43
                              }
                            },
                            "name": "constraintExpression"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 17280,
                          "end": 17300,
                          "loc": {
                            "start": {
                              "line": 488,
                              "column": 46
                            },
                            "end": {
                              "line": 488,
                              "column": 66
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 17280,
                            "end": 17289,
                            "loc": {
                              "start": {
                                "line": 488,
                                "column": 46
                              },
                              "end": {
                                "line": 488,
                                "column": 55
                              }
                            },
                            "name": "oldParams"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17290,
                            "end": 17300,
                            "loc": {
                              "start": {
                                "line": 488,
                                "column": 56
                              },
                              "end": {
                                "line": 488,
                                "column": 66
                              }
                            },
                            "name": "expression"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17310,
                      "end": 17359,
                      "loc": {
                        "start": {
                          "line": 489,
                          "column": 8
                        },
                        "end": {
                          "line": 489,
                          "column": 57
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17310,
                        "end": 17358,
                        "loc": {
                          "start": {
                            "line": 489,
                            "column": 8
                          },
                          "end": {
                            "line": 489,
                            "column": 56
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17310,
                          "end": 17340,
                          "loc": {
                            "start": {
                              "line": 489,
                              "column": 8
                            },
                            "end": {
                              "line": 489,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 17310,
                            "end": 17324,
                            "loc": {
                              "start": {
                                "line": 489,
                                "column": 8
                              },
                              "end": {
                                "line": 489,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 17310,
                              "end": 17314,
                              "loc": {
                                "start": {
                                  "line": 489,
                                  "column": 8
                                },
                                "end": {
                                  "line": 489,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17315,
                              "end": 17324,
                              "loc": {
                                "start": {
                                  "line": 489,
                                  "column": 13
                                },
                                "end": {
                                  "line": 489,
                                  "column": 22
                                }
                              },
                              "name": "modelData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17325,
                            "end": 17340,
                            "loc": {
                              "start": {
                                "line": 489,
                                "column": 23
                              },
                              "end": {
                                "line": 489,
                                "column": 38
                              }
                            },
                            "name": "constraintValue"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 17343,
                          "end": 17358,
                          "loc": {
                            "start": {
                              "line": 489,
                              "column": 41
                            },
                            "end": {
                              "line": 489,
                              "column": 56
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 17343,
                            "end": 17352,
                            "loc": {
                              "start": {
                                "line": 489,
                                "column": 41
                              },
                              "end": {
                                "line": 489,
                                "column": 50
                              }
                            },
                            "name": "oldParams"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17353,
                            "end": 17358,
                            "loc": {
                              "start": {
                                "line": 489,
                                "column": 51
                              },
                              "end": {
                                "line": 489,
                                "column": 56
                              }
                            },
                            "name": "value"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17368,
                      "end": 17417,
                      "loc": {
                        "start": {
                          "line": 490,
                          "column": 8
                        },
                        "end": {
                          "line": 490,
                          "column": 57
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17368,
                        "end": 17416,
                        "loc": {
                          "start": {
                            "line": 490,
                            "column": 8
                          },
                          "end": {
                            "line": 490,
                            "column": 56
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17368,
                          "end": 17398,
                          "loc": {
                            "start": {
                              "line": 490,
                              "column": 8
                            },
                            "end": {
                              "line": 490,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 17368,
                            "end": 17382,
                            "loc": {
                              "start": {
                                "line": 490,
                                "column": 8
                              },
                              "end": {
                                "line": 490,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 17368,
                              "end": 17372,
                              "loc": {
                                "start": {
                                  "line": 490,
                                  "column": 8
                                },
                                "end": {
                                  "line": 490,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17373,
                              "end": 17382,
                              "loc": {
                                "start": {
                                  "line": 490,
                                  "column": 13
                                },
                                "end": {
                                  "line": 490,
                                  "column": 22
                                }
                              },
                              "name": "modelData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17383,
                            "end": 17398,
                            "loc": {
                              "start": {
                                "line": 490,
                                "column": 23
                              },
                              "end": {
                                "line": 490,
                                "column": 38
                              }
                            },
                            "name": "constraintFixed"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 17401,
                          "end": 17416,
                          "loc": {
                            "start": {
                              "line": 490,
                              "column": 41
                            },
                            "end": {
                              "line": 490,
                              "column": 56
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 17401,
                            "end": 17410,
                            "loc": {
                              "start": {
                                "line": 490,
                                "column": 41
                              },
                              "end": {
                                "line": 490,
                                "column": 50
                              }
                            },
                            "name": "oldParams"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17411,
                            "end": 17416,
                            "loc": {
                              "start": {
                                "line": 490,
                                "column": 51
                              },
                              "end": {
                                "line": 490,
                                "column": 56
                              }
                            },
                            "name": "fixed"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17426,
                      "end": 17472,
                      "loc": {
                        "start": {
                          "line": 491,
                          "column": 8
                        },
                        "end": {
                          "line": 491,
                          "column": 54
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17426,
                        "end": 17471,
                        "loc": {
                          "start": {
                            "line": 491,
                            "column": 8
                          },
                          "end": {
                            "line": 491,
                            "column": 53
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17426,
                          "end": 17464,
                          "loc": {
                            "start": {
                              "line": 491,
                              "column": 8
                            },
                            "end": {
                              "line": 491,
                              "column": 46
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 17426,
                            "end": 17440,
                            "loc": {
                              "start": {
                                "line": 491,
                                "column": 8
                              },
                              "end": {
                                "line": 491,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 17426,
                              "end": 17430,
                              "loc": {
                                "start": {
                                  "line": 491,
                                  "column": 8
                                },
                                "end": {
                                  "line": 491,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17431,
                              "end": 17440,
                              "loc": {
                                "start": {
                                  "line": 491,
                                  "column": 13
                                },
                                "end": {
                                  "line": 491,
                                  "column": 22
                                }
                              },
                              "name": "modelData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17441,
                            "end": 17464,
                            "loc": {
                              "start": {
                                "line": 491,
                                "column": 23
                              },
                              "end": {
                                "line": 491,
                                "column": 46
                              }
                            },
                            "name": "isConstraintFormVisible"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 17467,
                          "end": 17471,
                          "loc": {
                            "start": {
                              "line": 491,
                              "column": 49
                            },
                            "end": {
                              "line": 491,
                              "column": 53
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 17481,
                      "end": 17912,
                      "loc": {
                        "start": {
                          "line": 492,
                          "column": 8
                        },
                        "end": {
                          "line": 503,
                          "column": 11
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 17488,
                        "end": 17911,
                        "loc": {
                          "start": {
                            "line": 492,
                            "column": 15
                          },
                          "end": {
                            "line": 503,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 17488,
                          "end": 17648,
                          "loc": {
                            "start": {
                              "line": 492,
                              "column": 15
                            },
                            "end": {
                              "line": 495,
                              "column": 15
                            }
                          },
                          "object": {
                            "type": "NewExpression",
                            "start": 17488,
                            "end": 17643,
                            "loc": {
                              "start": {
                                "line": 492,
                                "column": 15
                              },
                              "end": {
                                "line": 495,
                                "column": 10
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 17492,
                              "end": 17499,
                              "loc": {
                                "start": {
                                  "line": 492,
                                  "column": 19
                                },
                                "end": {
                                  "line": 492,
                                  "column": 26
                                }
                              },
                              "name": "Promise"
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 17500,
                                "end": 17642,
                                "loc": {
                                  "start": {
                                    "line": 492,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 495,
                                    "column": 9
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 17501,
                                    "end": 17508,
                                    "loc": {
                                      "start": {
                                        "line": 492,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 492,
                                        "column": 35
                                      }
                                    },
                                    "name": "resolve"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 17510,
                                    "end": 17516,
                                    "loc": {
                                      "start": {
                                        "line": 492,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 492,
                                        "column": 43
                                      }
                                    },
                                    "name": "reject"
                                  }
                                ],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 17521,
                                  "end": 17642,
                                  "loc": {
                                    "start": {
                                      "line": 492,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 495,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 17535,
                                      "end": 17577,
                                      "loc": {
                                        "start": {
                                          "line": 493,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 493,
                                          "column": 54
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 17535,
                                        "end": 17576,
                                        "loc": {
                                          "start": {
                                            "line": 493,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 493,
                                            "column": 53
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 17535,
                                          "end": 17566,
                                          "loc": {
                                            "start": {
                                              "line": 493,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 493,
                                              "column": 43
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 17535,
                                            "end": 17549,
                                            "loc": {
                                              "start": {
                                                "line": 493,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 493,
                                                "column": 26
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 17535,
                                              "end": 17539,
                                              "loc": {
                                                "start": {
                                                  "line": 493,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 493,
                                                  "column": 16
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 17540,
                                              "end": 17549,
                                              "loc": {
                                                "start": {
                                                  "line": 493,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 493,
                                                  "column": 26
                                                }
                                              },
                                              "name": "modelData"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 17550,
                                            "end": 17566,
                                            "loc": {
                                              "start": {
                                                "line": 493,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 493,
                                                "column": 43
                                              }
                                            },
                                            "name": "acceptConstraint"
                                          },
                                          "computed": false
                                        },
                                        "right": {
                                          "type": "Identifier",
                                          "start": 17569,
                                          "end": 17576,
                                          "loc": {
                                            "start": {
                                              "line": 493,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 493,
                                              "column": 53
                                            }
                                          },
                                          "name": "resolve"
                                        }
                                      }
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 17590,
                                      "end": 17632,
                                      "loc": {
                                        "start": {
                                          "line": 494,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 494,
                                          "column": 54
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 17590,
                                        "end": 17631,
                                        "loc": {
                                          "start": {
                                            "line": 494,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 494,
                                            "column": 53
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 17590,
                                          "end": 17622,
                                          "loc": {
                                            "start": {
                                              "line": 494,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 494,
                                              "column": 44
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 17590,
                                            "end": 17604,
                                            "loc": {
                                              "start": {
                                                "line": 494,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 494,
                                                "column": 26
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 17590,
                                              "end": 17594,
                                              "loc": {
                                                "start": {
                                                  "line": 494,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 494,
                                                  "column": 16
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 17595,
                                              "end": 17604,
                                              "loc": {
                                                "start": {
                                                  "line": 494,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 494,
                                                  "column": 26
                                                }
                                              },
                                              "name": "modelData"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 17605,
                                            "end": 17622,
                                            "loc": {
                                              "start": {
                                                "line": 494,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 494,
                                                "column": 44
                                              }
                                            },
                                            "name": "declineConstraint"
                                          },
                                          "computed": false
                                        },
                                        "right": {
                                          "type": "Identifier",
                                          "start": 17625,
                                          "end": 17631,
                                          "loc": {
                                            "start": {
                                              "line": 494,
                                              "column": 47
                                            },
                                            "end": {
                                              "line": 494,
                                              "column": 53
                                            }
                                          },
                                          "name": "reject"
                                        }
                                      }
                                    }
                                  ]
                                }
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17644,
                            "end": 17648,
                            "loc": {
                              "start": {
                                "line": 495,
                                "column": 11
                              },
                              "end": {
                                "line": 495,
                                "column": 15
                              }
                            },
                            "name": "then"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 17649,
                            "end": 17779,
                            "loc": {
                              "start": {
                                "line": 495,
                                "column": 16
                              },
                              "end": {
                                "line": 499,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 17649,
                                "end": 17650,
                                "loc": {
                                  "start": {
                                    "line": 495,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 495,
                                    "column": 17
                                  }
                                },
                                "name": "x"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 17654,
                              "end": 17779,
                              "loc": {
                                "start": {
                                  "line": 495,
                                  "column": 21
                                },
                                "end": {
                                  "line": 499,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 17668,
                                  "end": 17687,
                                  "loc": {
                                    "start": {
                                      "line": 496,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 496,
                                      "column": 31
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 17668,
                                    "end": 17686,
                                    "loc": {
                                      "start": {
                                        "line": 496,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 496,
                                        "column": 30
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 17668,
                                      "end": 17682,
                                      "loc": {
                                        "start": {
                                          "line": 496,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 496,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 17668,
                                        "end": 17672,
                                        "loc": {
                                          "start": {
                                            "line": 496,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 496,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 17673,
                                        "end": 17682,
                                        "loc": {
                                          "start": {
                                            "line": 496,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 496,
                                            "column": 26
                                          }
                                        },
                                        "name": "setPrompt"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 17683,
                                        "end": 17685,
                                        "loc": {
                                          "start": {
                                            "line": 496,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 496,
                                            "column": 29
                                          }
                                        },
                                        "value": "",
                                        "rawValue": "",
                                        "raw": "''"
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 17700,
                                  "end": 17747,
                                  "loc": {
                                    "start": {
                                      "line": 497,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 497,
                                      "column": 59
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 17700,
                                    "end": 17746,
                                    "loc": {
                                      "start": {
                                        "line": 497,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 497,
                                        "column": 58
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 17700,
                                      "end": 17738,
                                      "loc": {
                                        "start": {
                                          "line": 497,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 497,
                                          "column": 50
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 17700,
                                        "end": 17714,
                                        "loc": {
                                          "start": {
                                            "line": 497,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 497,
                                            "column": 26
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 17700,
                                          "end": 17704,
                                          "loc": {
                                            "start": {
                                              "line": 497,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 497,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 17705,
                                          "end": 17714,
                                          "loc": {
                                            "start": {
                                              "line": 497,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 497,
                                              "column": 26
                                            }
                                          },
                                          "name": "modelData"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 17715,
                                        "end": 17738,
                                        "loc": {
                                          "start": {
                                            "line": 497,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 497,
                                            "column": 50
                                          }
                                        },
                                        "name": "isConstraintFormVisible"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "Literal",
                                      "start": 17741,
                                      "end": 17746,
                                      "loc": {
                                        "start": {
                                          "line": 497,
                                          "column": 53
                                        },
                                        "end": {
                                          "line": 497,
                                          "column": 58
                                        }
                                      },
                                      "value": false,
                                      "rawValue": false,
                                      "raw": "false"
                                    }
                                  }
                                },
                                {
                                  "type": "ReturnStatement",
                                  "start": 17760,
                                  "end": 17769,
                                  "loc": {
                                    "start": {
                                      "line": 498,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 498,
                                      "column": 21
                                    }
                                  },
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 17767,
                                    "end": 17768,
                                    "loc": {
                                      "start": {
                                        "line": 498,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 498,
                                        "column": 20
                                      }
                                    },
                                    "name": "x"
                                  }
                                }
                              ]
                            }
                          },
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 17781,
                            "end": 17910,
                            "loc": {
                              "start": {
                                "line": 499,
                                "column": 11
                              },
                              "end": {
                                "line": 503,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 17781,
                                "end": 17782,
                                "loc": {
                                  "start": {
                                    "line": 499,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 499,
                                    "column": 12
                                  }
                                },
                                "name": "x"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 17786,
                              "end": 17910,
                              "loc": {
                                "start": {
                                  "line": 499,
                                  "column": 16
                                },
                                "end": {
                                  "line": 503,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 17800,
                                  "end": 17819,
                                  "loc": {
                                    "start": {
                                      "line": 500,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 500,
                                      "column": 31
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 17800,
                                    "end": 17818,
                                    "loc": {
                                      "start": {
                                        "line": 500,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 500,
                                        "column": 30
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 17800,
                                      "end": 17814,
                                      "loc": {
                                        "start": {
                                          "line": 500,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 500,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 17800,
                                        "end": 17804,
                                        "loc": {
                                          "start": {
                                            "line": 500,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 500,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 17805,
                                        "end": 17814,
                                        "loc": {
                                          "start": {
                                            "line": 500,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 500,
                                            "column": 26
                                          }
                                        },
                                        "name": "setPrompt"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 17815,
                                        "end": 17817,
                                        "loc": {
                                          "start": {
                                            "line": 500,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 500,
                                            "column": 29
                                          }
                                        },
                                        "value": "",
                                        "rawValue": "",
                                        "raw": "''"
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 17832,
                                  "end": 17879,
                                  "loc": {
                                    "start": {
                                      "line": 501,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 501,
                                      "column": 59
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 17832,
                                    "end": 17878,
                                    "loc": {
                                      "start": {
                                        "line": 501,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 501,
                                        "column": 58
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 17832,
                                      "end": 17870,
                                      "loc": {
                                        "start": {
                                          "line": 501,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 501,
                                          "column": 50
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 17832,
                                        "end": 17846,
                                        "loc": {
                                          "start": {
                                            "line": 501,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 501,
                                            "column": 26
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 17832,
                                          "end": 17836,
                                          "loc": {
                                            "start": {
                                              "line": 501,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 501,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 17837,
                                          "end": 17846,
                                          "loc": {
                                            "start": {
                                              "line": 501,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 501,
                                              "column": 26
                                            }
                                          },
                                          "name": "modelData"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 17847,
                                        "end": 17870,
                                        "loc": {
                                          "start": {
                                            "line": 501,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 501,
                                            "column": 50
                                          }
                                        },
                                        "name": "isConstraintFormVisible"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "Literal",
                                      "start": 17873,
                                      "end": 17878,
                                      "loc": {
                                        "start": {
                                          "line": 501,
                                          "column": 53
                                        },
                                        "end": {
                                          "line": 501,
                                          "column": 58
                                        }
                                      },
                                      "value": false,
                                      "rawValue": false,
                                      "raw": "false"
                                    }
                                  }
                                },
                                {
                                  "type": "ThrowStatement",
                                  "start": 17892,
                                  "end": 17900,
                                  "loc": {
                                    "start": {
                                      "line": 502,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 502,
                                      "column": 20
                                    }
                                  },
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 17898,
                                    "end": 17899,
                                    "loc": {
                                      "start": {
                                        "line": 502,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 502,
                                        "column": 19
                                      }
                                    },
                                    "name": "x"
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Makes given THREE object suitable for visualization on given View.\n     * It adds interaction on the object with update method.\n     * The update method allows to automatically recalculate sizes and visible geometry of the object.\n     * The function can be called many times, but the object must not have other interaction on it.\n     * Ideally, this method should be called immediately after the object has been created.\n     ",
                  "start": 17924,
                  "end": 18365,
                  "loc": {
                    "start": {
                      "line": 506,
                      "column": 4
                    },
                    "end": {
                      "line": 512,
                      "column": 7
                    }
                  },
                  "range": [
                    17924,
                    18365
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 18370,
              "end": 18585,
              "loc": {
                "start": {
                  "line": 513,
                  "column": 4
                },
                "end": {
                  "line": 519,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 18377,
                "end": 18398,
                "loc": {
                  "start": {
                    "line": 513,
                    "column": 11
                  },
                  "end": {
                    "line": 513,
                    "column": 32
                  }
                },
                "name": "registerVisualization"
              },
              "static": true,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 18398,
                "end": 18585,
                "loc": {
                  "start": {
                    "line": 513,
                    "column": 32
                  },
                  "end": {
                    "line": 519,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 18399,
                    "end": 18403,
                    "loc": {
                      "start": {
                        "line": 513,
                        "column": 33
                      },
                      "end": {
                        "line": 513,
                        "column": 37
                      }
                    },
                    "name": "view"
                  },
                  {
                    "type": "Identifier",
                    "start": 18405,
                    "end": 18408,
                    "loc": {
                      "start": {
                        "line": 513,
                        "column": 39
                      },
                      "end": {
                        "line": 513,
                        "column": 42
                      }
                    },
                    "name": "obj"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 18410,
                  "end": 18585,
                  "loc": {
                    "start": {
                      "line": 513,
                      "column": 44
                    },
                    "end": {
                      "line": 519,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 18420,
                      "end": 18579,
                      "loc": {
                        "start": {
                          "line": 514,
                          "column": 8
                        },
                        "end": {
                          "line": 518,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 18420,
                        "end": 18578,
                        "loc": {
                          "start": {
                            "line": 514,
                            "column": 8
                          },
                          "end": {
                            "line": 518,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 18420,
                          "end": 18487,
                          "loc": {
                            "start": {
                              "line": 514,
                              "column": 8
                            },
                            "end": {
                              "line": 516,
                              "column": 13
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 18420,
                            "end": 18484,
                            "loc": {
                              "start": {
                                "line": 514,
                                "column": 8
                              },
                              "end": {
                                "line": 516,
                                "column": 10
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 18420,
                              "end": 18441,
                              "loc": {
                                "start": {
                                  "line": 514,
                                  "column": 8
                                },
                                "end": {
                                  "line": 514,
                                  "column": 29
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 18420,
                                "end": 18423,
                                "loc": {
                                  "start": {
                                    "line": 514,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 514,
                                    "column": 11
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 18424,
                                "end": 18441,
                                "loc": {
                                  "start": {
                                    "line": 514,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 514,
                                    "column": 29
                                  }
                                },
                                "name": "createInteraction"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ObjectExpression",
                                "start": 18442,
                                "end": 18483,
                                "loc": {
                                  "start": {
                                    "line": 514,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 516,
                                    "column": 9
                                  }
                                },
                                "properties": [
                                  {
                                    "type": "Property",
                                    "start": 18456,
                                    "end": 18472,
                                    "loc": {
                                      "start": {
                                        "line": 515,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 515,
                                        "column": 28
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 18456,
                                      "end": 18464,
                                      "loc": {
                                        "start": {
                                          "line": 515,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 515,
                                          "column": 20
                                        }
                                      },
                                      "name": "priority"
                                    },
                                    "value": {
                                      "type": "UnaryExpression",
                                      "start": 18466,
                                      "end": 18472,
                                      "loc": {
                                        "start": {
                                          "line": 515,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 515,
                                          "column": 28
                                        }
                                      },
                                      "operator": "-",
                                      "prefix": true,
                                      "argument": {
                                        "type": "Literal",
                                        "start": 18467,
                                        "end": 18472,
                                        "loc": {
                                          "start": {
                                            "line": 515,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 515,
                                            "column": 28
                                          }
                                        },
                                        "value": 10000,
                                        "rawValue": 10000,
                                        "raw": "10000"
                                      }
                                    },
                                    "kind": "init"
                                  }
                                ]
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 18485,
                            "end": 18487,
                            "loc": {
                              "start": {
                                "line": 516,
                                "column": 11
                              },
                              "end": {
                                "line": 516,
                                "column": 13
                              }
                            },
                            "name": "on"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ObjectExpression",
                            "start": 18488,
                            "end": 18577,
                            "loc": {
                              "start": {
                                "line": 516,
                                "column": 14
                              },
                              "end": {
                                "line": 518,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 18502,
                                "end": 18566,
                                "loc": {
                                  "start": {
                                    "line": 517,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 517,
                                    "column": 76
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": true,
                                "key": {
                                  "type": "MemberExpression",
                                  "start": 18503,
                                  "end": 18536,
                                  "loc": {
                                    "start": {
                                      "line": 517,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 517,
                                      "column": 46
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 18503,
                                    "end": 18527,
                                    "loc": {
                                      "start": {
                                        "line": 517,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 517,
                                        "column": 37
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 18503,
                                      "end": 18517,
                                      "loc": {
                                        "start": {
                                          "line": 517,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 517,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 18503,
                                        "end": 18510,
                                        "loc": {
                                          "start": {
                                            "line": 517,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 517,
                                            "column": 20
                                          }
                                        },
                                        "name": "Object3"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 18511,
                                        "end": 18517,
                                        "loc": {
                                          "start": {
                                            "line": 517,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 517,
                                            "column": 27
                                          }
                                        },
                                        "name": "Events"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 18518,
                                      "end": 18527,
                                      "loc": {
                                        "start": {
                                          "line": 517,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 517,
                                          "column": 37
                                        }
                                      },
                                      "name": "Lifecycle"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 18528,
                                    "end": 18536,
                                    "loc": {
                                      "start": {
                                        "line": 517,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 517,
                                        "column": 46
                                      }
                                    },
                                    "name": "Rendered"
                                  },
                                  "computed": false
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 18539,
                                  "end": 18566,
                                  "loc": {
                                    "start": {
                                      "line": 517,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 517,
                                      "column": 76
                                    }
                                  },
                                  "name": "updateSizesAndVisualization"
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Makes given THREE object suitable for visualization on given View.\n     * It adds interaction on the object with update method.\n     * The update method allows to automatically recalculate sizes and visible geometry of the object.\n     * The function can be called many times, but the object must not have other interaction on it.\n     * Ideally, this method should be called immediately after the object has been created.\n     ",
                  "start": 17924,
                  "end": 18365,
                  "loc": {
                    "start": {
                      "line": 506,
                      "column": 4
                    },
                    "end": {
                      "line": 512,
                      "column": 7
                    }
                  },
                  "range": [
                    17924,
                    18365
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * A mixin which adds capability of specifying sizes in screen pixels.\n     * All sizes are kept in a single list 'pixelSizes'.\n     * Method 'updateSizes' is added: it should be called by user when camera/size changes.\n     * It passes geometrical sizes (in local object space) to method 'setGeomSizes'.\n     * If 'getSizingPoint' method is present in class, it is called to get\n     * calibrating position in local space of the object (otherwise origin is used).\n     ",
                  "start": 18591,
                  "end": 19071,
                  "loc": {
                    "start": {
                      "line": 521,
                      "column": 4
                    },
                    "end": {
                      "line": 528,
                      "column": 7
                    }
                  },
                  "range": [
                    18591,
                    19071
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 19076,
              "end": 20240,
              "loc": {
                "start": {
                  "line": 529,
                  "column": 4
                },
                "end": {
                  "line": 557,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 19083,
                "end": 19106,
                "loc": {
                  "start": {
                    "line": 529,
                    "column": 11
                  },
                  "end": {
                    "line": 529,
                    "column": 34
                  }
                },
                "name": "mixinPixelSizedGeometry"
              },
              "static": true,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 19106,
                "end": 20240,
                "loc": {
                  "start": {
                    "line": 529,
                    "column": 34
                  },
                  "end": {
                    "line": 557,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 19107,
                    "end": 19117,
                    "loc": {
                      "start": {
                        "line": 529,
                        "column": 35
                      },
                      "end": {
                        "line": 529,
                        "column": 45
                      }
                    },
                    "name": "pixelSizes"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 19119,
                  "end": 20240,
                  "loc": {
                    "start": {
                      "line": 529,
                      "column": 47
                    },
                    "end": {
                      "line": 557,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 19129,
                      "end": 19267,
                      "loc": {
                        "start": {
                          "line": 530,
                          "column": 8
                        },
                        "end": {
                          "line": 533,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 19133,
                        "end": 19166,
                        "loc": {
                          "start": {
                            "line": 530,
                            "column": 12
                          },
                          "end": {
                            "line": 530,
                            "column": 45
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "BinaryExpression",
                          "start": 19135,
                          "end": 19165,
                          "loc": {
                            "start": {
                              "line": 530,
                              "column": 14
                            },
                            "end": {
                              "line": 530,
                              "column": 44
                            }
                          },
                          "left": {
                            "type": "ThisExpression",
                            "start": 19135,
                            "end": 19139,
                            "loc": {
                              "start": {
                                "line": 530,
                                "column": 14
                              },
                              "end": {
                                "line": 530,
                                "column": 18
                              }
                            }
                          },
                          "operator": "instanceof",
                          "right": {
                            "type": "MemberExpression",
                            "start": 19151,
                            "end": 19165,
                            "loc": {
                              "start": {
                                "line": 530,
                                "column": 30
                              },
                              "end": {
                                "line": 530,
                                "column": 44
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 19151,
                              "end": 19156,
                              "loc": {
                                "start": {
                                  "line": 530,
                                  "column": 30
                                },
                                "end": {
                                  "line": 530,
                                  "column": 35
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19157,
                              "end": 19165,
                              "loc": {
                                "start": {
                                  "line": 530,
                                  "column": 36
                                },
                                "end": {
                                  "line": 530,
                                  "column": 44
                                }
                              },
                              "name": "Object3D"
                            },
                            "computed": false
                          },
                          "parenthesizedExpression": true
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 19168,
                        "end": 19267,
                        "loc": {
                          "start": {
                            "line": 530,
                            "column": 47
                          },
                          "end": {
                            "line": 533,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 19182,
                            "end": 19237,
                            "loc": {
                              "start": {
                                "line": 531,
                                "column": 12
                              },
                              "end": {
                                "line": 531,
                                "column": 67
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 19182,
                              "end": 19236,
                              "loc": {
                                "start": {
                                  "line": 531,
                                  "column": 12
                                },
                                "end": {
                                  "line": 531,
                                  "column": 66
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 19182,
                                "end": 19194,
                                "loc": {
                                  "start": {
                                    "line": 531,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 531,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 19182,
                                  "end": 19189,
                                  "loc": {
                                    "start": {
                                      "line": 531,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 531,
                                      "column": 19
                                    }
                                  },
                                  "name": "console"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 19190,
                                  "end": 19194,
                                  "loc": {
                                    "start": {
                                      "line": 531,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 531,
                                      "column": 24
                                    }
                                  },
                                  "name": "warn"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 19195,
                                  "end": 19235,
                                  "loc": {
                                    "start": {
                                      "line": 531,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 531,
                                      "column": 65
                                    }
                                  },
                                  "value": "PixelSizedGeometry: not a THREE object",
                                  "rawValue": "PixelSizedGeometry: not a THREE object",
                                  "raw": "\"PixelSizedGeometry: not a THREE object\""
                                }
                              ]
                            }
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 19250,
                            "end": 19257,
                            "loc": {
                              "start": {
                                "line": 532,
                                "column": 12
                              },
                              "end": {
                                "line": 532,
                                "column": 19
                              }
                            },
                            "argument": null
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 19276,
                      "end": 19405,
                      "loc": {
                        "start": {
                          "line": 534,
                          "column": 8
                        },
                        "end": {
                          "line": 537,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 19280,
                        "end": 19298,
                        "loc": {
                          "start": {
                            "line": 534,
                            "column": 12
                          },
                          "end": {
                            "line": 534,
                            "column": 30
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 19281,
                          "end": 19298,
                          "loc": {
                            "start": {
                              "line": 534,
                              "column": 13
                            },
                            "end": {
                              "line": 534,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 19281,
                            "end": 19285,
                            "loc": {
                              "start": {
                                "line": 534,
                                "column": 13
                              },
                              "end": {
                                "line": 534,
                                "column": 17
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19286,
                            "end": 19298,
                            "loc": {
                              "start": {
                                "line": 534,
                                "column": 18
                              },
                              "end": {
                                "line": 534,
                                "column": 30
                              }
                            },
                            "name": "setGeomSizes"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 19300,
                        "end": 19405,
                        "loc": {
                          "start": {
                            "line": 534,
                            "column": 32
                          },
                          "end": {
                            "line": 537,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 19314,
                            "end": 19375,
                            "loc": {
                              "start": {
                                "line": 535,
                                "column": 12
                              },
                              "end": {
                                "line": 535,
                                "column": 73
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 19314,
                              "end": 19374,
                              "loc": {
                                "start": {
                                  "line": 535,
                                  "column": 12
                                },
                                "end": {
                                  "line": 535,
                                  "column": 72
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 19314,
                                "end": 19326,
                                "loc": {
                                  "start": {
                                    "line": 535,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 535,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 19314,
                                  "end": 19321,
                                  "loc": {
                                    "start": {
                                      "line": 535,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 535,
                                      "column": 19
                                    }
                                  },
                                  "name": "console"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 19322,
                                  "end": 19326,
                                  "loc": {
                                    "start": {
                                      "line": 535,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 535,
                                      "column": 24
                                    }
                                  },
                                  "name": "warn"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 19327,
                                  "end": 19373,
                                  "loc": {
                                    "start": {
                                      "line": 535,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 535,
                                      "column": 71
                                    }
                                  },
                                  "value": "PixelSizedGeometry: missing required methods",
                                  "rawValue": "PixelSizedGeometry: missing required methods",
                                  "raw": "\"PixelSizedGeometry: missing required methods\""
                                }
                              ]
                            }
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 19388,
                            "end": 19395,
                            "loc": {
                              "start": {
                                "line": 536,
                                "column": 12
                              },
                              "end": {
                                "line": 536,
                                "column": 19
                              }
                            },
                            "argument": null
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add 'pixelSizes' property (list of sizes)",
                          "start": 19415,
                          "end": 19459,
                          "loc": {
                            "start": {
                              "line": 539,
                              "column": 8
                            },
                            "end": {
                              "line": 539,
                              "column": 52
                            }
                          },
                          "range": [
                            19415,
                            19459
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 19468,
                      "end": 19502,
                      "loc": {
                        "start": {
                          "line": 540,
                          "column": 8
                        },
                        "end": {
                          "line": 540,
                          "column": 42
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 19472,
                        "end": 19483,
                        "loc": {
                          "start": {
                            "line": 540,
                            "column": 12
                          },
                          "end": {
                            "line": 540,
                            "column": 23
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 19473,
                          "end": 19483,
                          "loc": {
                            "start": {
                              "line": 540,
                              "column": 13
                            },
                            "end": {
                              "line": 540,
                              "column": 23
                            }
                          },
                          "name": "pixelSizes",
                          "leadingComments": null
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 19485,
                        "end": 19502,
                        "loc": {
                          "start": {
                            "line": 540,
                            "column": 25
                          },
                          "end": {
                            "line": 540,
                            "column": 42
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 19485,
                          "end": 19501,
                          "loc": {
                            "start": {
                              "line": 540,
                              "column": 25
                            },
                            "end": {
                              "line": 540,
                              "column": 41
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 19485,
                            "end": 19495,
                            "loc": {
                              "start": {
                                "line": 540,
                                "column": 25
                              },
                              "end": {
                                "line": 540,
                                "column": 35
                              }
                            },
                            "name": "pixelSizes"
                          },
                          "right": {
                            "type": "Literal",
                            "start": 19498,
                            "end": 19501,
                            "loc": {
                              "start": {
                                "line": 540,
                                "column": 38
                              },
                              "end": {
                                "line": 540,
                                "column": 41
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1.0"
                          }
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add 'pixelSizes' property (list of sizes)",
                          "start": 19415,
                          "end": 19459,
                          "loc": {
                            "start": {
                              "line": 539,
                              "column": 8
                            },
                            "end": {
                              "line": 539,
                              "column": 52
                            }
                          },
                          "range": [
                            19415,
                            19459
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 19511,
                      "end": 19551,
                      "loc": {
                        "start": {
                          "line": 541,
                          "column": 8
                        },
                        "end": {
                          "line": 541,
                          "column": 48
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 19511,
                        "end": 19550,
                        "loc": {
                          "start": {
                            "line": 541,
                            "column": 8
                          },
                          "end": {
                            "line": 541,
                            "column": 47
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 19511,
                          "end": 19526,
                          "loc": {
                            "start": {
                              "line": 541,
                              "column": 8
                            },
                            "end": {
                              "line": 541,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 19511,
                            "end": 19515,
                            "loc": {
                              "start": {
                                "line": 541,
                                "column": 8
                              },
                              "end": {
                                "line": 541,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19516,
                            "end": 19526,
                            "loc": {
                              "start": {
                                "line": 541,
                                "column": 13
                              },
                              "end": {
                                "line": 541,
                                "column": 23
                              }
                            },
                            "name": "pixelSizes"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 19529,
                          "end": 19550,
                          "loc": {
                            "start": {
                              "line": 541,
                              "column": 26
                            },
                            "end": {
                              "line": 541,
                              "column": 47
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 19529,
                            "end": 19538,
                            "loc": {
                              "start": {
                                "line": 541,
                                "column": 26
                              },
                              "end": {
                                "line": 541,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "ArrayExpression",
                              "start": 19529,
                              "end": 19531,
                              "loc": {
                                "start": {
                                  "line": 541,
                                  "column": 26
                                },
                                "end": {
                                  "line": 541,
                                  "column": 28
                                }
                              },
                              "elements": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19532,
                              "end": 19538,
                              "loc": {
                                "start": {
                                  "line": 541,
                                  "column": 29
                                },
                                "end": {
                                  "line": 541,
                                  "column": 35
                                }
                              },
                              "name": "concat"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 19539,
                              "end": 19549,
                              "loc": {
                                "start": {
                                  "line": 541,
                                  "column": 36
                                },
                                "end": {
                                  "line": 541,
                                  "column": 46
                                }
                              },
                              "name": "pixelSizes"
                            }
                          ]
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add trivial method implementation (if missing)",
                          "start": 19561,
                          "end": 19610,
                          "loc": {
                            "start": {
                              "line": 543,
                              "column": 8
                            },
                            "end": {
                              "line": 543,
                              "column": 57
                            }
                          },
                          "range": [
                            19561,
                            19610
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 19619,
                      "end": 19723,
                      "loc": {
                        "start": {
                          "line": 544,
                          "column": 8
                        },
                        "end": {
                          "line": 545,
                          "column": 78
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 19623,
                        "end": 19643,
                        "loc": {
                          "start": {
                            "line": 544,
                            "column": 12
                          },
                          "end": {
                            "line": 544,
                            "column": 32
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 19624,
                          "end": 19643,
                          "loc": {
                            "start": {
                              "line": 544,
                              "column": 13
                            },
                            "end": {
                              "line": 544,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 19624,
                            "end": 19628,
                            "loc": {
                              "start": {
                                "line": 544,
                                "column": 13
                              },
                              "end": {
                                "line": 544,
                                "column": 17
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19629,
                            "end": 19643,
                            "loc": {
                              "start": {
                                "line": 544,
                                "column": 18
                              },
                              "end": {
                                "line": 544,
                                "column": 32
                              }
                            },
                            "name": "getSizingPoint"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 19657,
                        "end": 19723,
                        "loc": {
                          "start": {
                            "line": 545,
                            "column": 12
                          },
                          "end": {
                            "line": 545,
                            "column": 78
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 19657,
                          "end": 19722,
                          "loc": {
                            "start": {
                              "line": 545,
                              "column": 12
                            },
                            "end": {
                              "line": 545,
                              "column": 77
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 19657,
                            "end": 19676,
                            "loc": {
                              "start": {
                                "line": 545,
                                "column": 12
                              },
                              "end": {
                                "line": 545,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 19657,
                              "end": 19661,
                              "loc": {
                                "start": {
                                  "line": 545,
                                  "column": 12
                                },
                                "end": {
                                  "line": 545,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19662,
                              "end": 19676,
                              "loc": {
                                "start": {
                                  "line": 545,
                                  "column": 17
                                },
                                "end": {
                                  "line": 545,
                                  "column": 31
                                }
                              },
                              "name": "getSizingPoint"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "FunctionExpression",
                            "start": 19679,
                            "end": 19722,
                            "loc": {
                              "start": {
                                "line": 545,
                                "column": 34
                              },
                              "end": {
                                "line": 545,
                                "column": 77
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [],
                            "body": {
                              "type": "BlockStatement",
                              "start": 19691,
                              "end": 19722,
                              "loc": {
                                "start": {
                                  "line": 545,
                                  "column": 46
                                },
                                "end": {
                                  "line": 545,
                                  "column": 77
                                }
                              },
                              "body": [
                                {
                                  "type": "ReturnStatement",
                                  "start": 19693,
                                  "end": 19720,
                                  "loc": {
                                    "start": {
                                      "line": 545,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 545,
                                      "column": 75
                                    }
                                  },
                                  "argument": {
                                    "type": "NewExpression",
                                    "start": 19700,
                                    "end": 19719,
                                    "loc": {
                                      "start": {
                                        "line": 545,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 545,
                                        "column": 74
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 19704,
                                      "end": 19717,
                                      "loc": {
                                        "start": {
                                          "line": 545,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 545,
                                          "column": 72
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 19704,
                                        "end": 19709,
                                        "loc": {
                                          "start": {
                                            "line": 545,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 545,
                                            "column": 64
                                          }
                                        },
                                        "name": "THREE"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 19710,
                                        "end": 19717,
                                        "loc": {
                                          "start": {
                                            "line": 545,
                                            "column": 65
                                          },
                                          "end": {
                                            "line": 545,
                                            "column": 72
                                          }
                                        },
                                        "name": "Vector3"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                }
                              ]
                            }
                          }
                        },
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add trivial method implementation (if missing)",
                          "start": 19561,
                          "end": 19610,
                          "loc": {
                            "start": {
                              "line": 543,
                              "column": 8
                            },
                            "end": {
                              "line": 543,
                              "column": 57
                            }
                          },
                          "range": [
                            19561,
                            19610
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add the main method which updates geometrical sizes",
                          "start": 19733,
                          "end": 19787,
                          "loc": {
                            "start": {
                              "line": 547,
                              "column": 8
                            },
                            "end": {
                              "line": 547,
                              "column": 62
                            }
                          },
                          "range": [
                            19733,
                            19787
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 19796,
                      "end": 20234,
                      "loc": {
                        "start": {
                          "line": 548,
                          "column": 8
                        },
                        "end": {
                          "line": 556,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 19796,
                        "end": 20233,
                        "loc": {
                          "start": {
                            "line": 548,
                            "column": 8
                          },
                          "end": {
                            "line": 556,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 19796,
                          "end": 19812,
                          "loc": {
                            "start": {
                              "line": 548,
                              "column": 8
                            },
                            "end": {
                              "line": 548,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 19796,
                            "end": 19800,
                            "loc": {
                              "start": {
                                "line": 548,
                                "column": 8
                              },
                              "end": {
                                "line": 548,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19801,
                            "end": 19812,
                            "loc": {
                              "start": {
                                "line": 548,
                                "column": 13
                              },
                              "end": {
                                "line": 548,
                                "column": 24
                              }
                            },
                            "name": "updateSizes"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "start": 19815,
                          "end": 20233,
                          "loc": {
                            "start": {
                              "line": 548,
                              "column": 27
                            },
                            "end": {
                              "line": 556,
                              "column": 9
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 19824,
                              "end": 19828,
                              "loc": {
                                "start": {
                                  "line": 548,
                                  "column": 36
                                },
                                "end": {
                                  "line": 548,
                                  "column": 40
                                }
                              },
                              "name": "view"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 19830,
                            "end": 20233,
                            "loc": {
                              "start": {
                                "line": 548,
                                "column": 42
                              },
                              "end": {
                                "line": 556,
                                "column": 9
                              }
                            },
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "start": 19844,
                                "end": 19876,
                                "loc": {
                                  "start": {
                                    "line": 549,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 549,
                                    "column": 44
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 19848,
                                    "end": 19875,
                                    "loc": {
                                      "start": {
                                        "line": 549,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 549,
                                        "column": 43
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 19848,
                                      "end": 19851,
                                      "loc": {
                                        "start": {
                                          "line": 549,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 549,
                                          "column": 19
                                        }
                                      },
                                      "name": "pos"
                                    },
                                    "init": {
                                      "type": "CallExpression",
                                      "start": 19854,
                                      "end": 19875,
                                      "loc": {
                                        "start": {
                                          "line": 549,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 549,
                                          "column": 43
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 19854,
                                        "end": 19873,
                                        "loc": {
                                          "start": {
                                            "line": 549,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 549,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 19854,
                                          "end": 19858,
                                          "loc": {
                                            "start": {
                                              "line": 549,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 549,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 19859,
                                          "end": 19873,
                                          "loc": {
                                            "start": {
                                              "line": 549,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 549,
                                              "column": 41
                                            }
                                          },
                                          "name": "getSizingPoint"
                                        },
                                        "computed": false
                                      },
                                      "arguments": []
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 19889,
                                "end": 19945,
                                "loc": {
                                  "start": {
                                    "line": 550,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 550,
                                    "column": 68
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 19893,
                                    "end": 19944,
                                    "loc": {
                                      "start": {
                                        "line": 550,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 550,
                                        "column": 67
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 19893,
                                      "end": 19896,
                                      "loc": {
                                        "start": {
                                          "line": 550,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 550,
                                          "column": 19
                                        }
                                      },
                                      "name": "scr"
                                    },
                                    "init": {
                                      "type": "CallExpression",
                                      "start": 19899,
                                      "end": 19944,
                                      "loc": {
                                        "start": {
                                          "line": 550,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 550,
                                          "column": 67
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 19899,
                                        "end": 19921,
                                        "loc": {
                                          "start": {
                                            "line": 550,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 550,
                                            "column": 44
                                          }
                                        },
                                        "name": "transformWorldToScreen"
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 19922,
                                          "end": 19926,
                                          "loc": {
                                            "start": {
                                              "line": 550,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 550,
                                              "column": 49
                                            }
                                          },
                                          "name": "view"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 19928,
                                          "end": 19931,
                                          "loc": {
                                            "start": {
                                              "line": 550,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 550,
                                              "column": 54
                                            }
                                          },
                                          "name": "pos"
                                        },
                                        {
                                          "type": "ThisExpression",
                                          "start": 19933,
                                          "end": 19937,
                                          "loc": {
                                            "start": {
                                              "line": 550,
                                              "column": 56
                                            },
                                            "end": {
                                              "line": 550,
                                              "column": 60
                                            }
                                          }
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 19939,
                                          "end": 19943,
                                          "loc": {
                                            "start": {
                                              "line": 550,
                                              "column": 62
                                            },
                                            "end": {
                                              "line": 550,
                                              "column": 66
                                            }
                                          },
                                          "value": true,
                                          "rawValue": true,
                                          "raw": "true"
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 19958,
                                "end": 20020,
                                "loc": {
                                  "start": {
                                    "line": 551,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 551,
                                    "column": 74
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 19962,
                                    "end": 20019,
                                    "loc": {
                                      "start": {
                                        "line": 551,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 551,
                                        "column": 73
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 19962,
                                      "end": 19967,
                                      "loc": {
                                        "start": {
                                          "line": 551,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 551,
                                          "column": 21
                                        }
                                      },
                                      "name": "coeff"
                                    },
                                    "init": {
                                      "type": "BinaryExpression",
                                      "start": 19970,
                                      "end": 20019,
                                      "loc": {
                                        "start": {
                                          "line": 551,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 551,
                                          "column": 73
                                        }
                                      },
                                      "left": {
                                        "type": "Literal",
                                        "start": 19970,
                                        "end": 19973,
                                        "loc": {
                                          "start": {
                                            "line": 551,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 551,
                                            "column": 27
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1.0"
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "CallExpression",
                                        "start": 19976,
                                        "end": 20019,
                                        "loc": {
                                          "start": {
                                            "line": 551,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 551,
                                            "column": 73
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 19976,
                                          "end": 20014,
                                          "loc": {
                                            "start": {
                                              "line": 551,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 551,
                                              "column": 68
                                            }
                                          },
                                          "name": "calculateWorldToScreenRadiusMultiplier"
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 20015,
                                            "end": 20018,
                                            "loc": {
                                              "start": {
                                                "line": 551,
                                                "column": 69
                                              },
                                              "end": {
                                                "line": 551,
                                                "column": 72
                                              }
                                            },
                                            "name": "scr"
                                          }
                                        ]
                                      }
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 20033,
                                "end": 20070,
                                "loc": {
                                  "start": {
                                    "line": 552,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 552,
                                    "column": 49
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 20037,
                                    "end": 20069,
                                    "loc": {
                                      "start": {
                                        "line": 552,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 552,
                                        "column": 48
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 20037,
                                      "end": 20042,
                                      "loc": {
                                        "start": {
                                          "line": 552,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 552,
                                          "column": 21
                                        }
                                      },
                                      "name": "sizes"
                                    },
                                    "init": {
                                      "type": "CallExpression",
                                      "start": 20045,
                                      "end": 20069,
                                      "loc": {
                                        "start": {
                                          "line": 552,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 552,
                                          "column": 48
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 20045,
                                        "end": 20066,
                                        "loc": {
                                          "start": {
                                            "line": 552,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 552,
                                            "column": 45
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 20045,
                                          "end": 20060,
                                          "loc": {
                                            "start": {
                                              "line": 552,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 552,
                                              "column": 39
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 20045,
                                            "end": 20049,
                                            "loc": {
                                              "start": {
                                                "line": 552,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 552,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 20050,
                                            "end": 20060,
                                            "loc": {
                                              "start": {
                                                "line": 552,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 552,
                                                "column": 39
                                              }
                                            },
                                            "name": "pixelSizes"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 20061,
                                          "end": 20066,
                                          "loc": {
                                            "start": {
                                              "line": 552,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 552,
                                              "column": 45
                                            }
                                          },
                                          "name": "slice"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Literal",
                                          "start": 20067,
                                          "end": 20068,
                                          "loc": {
                                            "start": {
                                              "line": 552,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 552,
                                              "column": 47
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "kind": "var",
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": "aka clone",
                                    "start": 20071,
                                    "end": 20082,
                                    "loc": {
                                      "start": {
                                        "line": 552,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 552,
                                        "column": 61
                                      }
                                    },
                                    "range": [
                                      20071,
                                      20082
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "ForStatement",
                                "start": 20095,
                                "end": 20185,
                                "loc": {
                                  "start": {
                                    "line": 553,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 554,
                                    "column": 44
                                  }
                                },
                                "init": {
                                  "type": "VariableDeclaration",
                                  "start": 20100,
                                  "end": 20127,
                                  "loc": {
                                    "start": {
                                      "line": 553,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 553,
                                      "column": 44
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 20104,
                                      "end": 20109,
                                      "loc": {
                                        "start": {
                                          "line": 553,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 553,
                                          "column": 26
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 20104,
                                        "end": 20105,
                                        "loc": {
                                          "start": {
                                            "line": 553,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 553,
                                            "column": 22
                                          }
                                        },
                                        "name": "i",
                                        "leadingComments": null
                                      },
                                      "init": {
                                        "type": "Literal",
                                        "start": 20108,
                                        "end": 20109,
                                        "loc": {
                                          "start": {
                                            "line": 553,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 553,
                                            "column": 26
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "leadingComments": null
                                    },
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 20111,
                                      "end": 20127,
                                      "loc": {
                                        "start": {
                                          "line": 553,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 553,
                                          "column": 44
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 20111,
                                        "end": 20112,
                                        "loc": {
                                          "start": {
                                            "line": 553,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 553,
                                            "column": 29
                                          }
                                        },
                                        "name": "l"
                                      },
                                      "init": {
                                        "type": "MemberExpression",
                                        "start": 20115,
                                        "end": 20127,
                                        "loc": {
                                          "start": {
                                            "line": 553,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 553,
                                            "column": 44
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 20115,
                                          "end": 20120,
                                          "loc": {
                                            "start": {
                                              "line": 553,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 553,
                                              "column": 37
                                            }
                                          },
                                          "name": "sizes"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 20121,
                                          "end": 20127,
                                          "loc": {
                                            "start": {
                                              "line": 553,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 553,
                                              "column": 44
                                            }
                                          },
                                          "name": "length"
                                        },
                                        "computed": false
                                      }
                                    }
                                  ],
                                  "kind": "var",
                                  "leadingComments": null
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 20129,
                                  "end": 20134,
                                  "loc": {
                                    "start": {
                                      "line": 553,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 553,
                                      "column": 51
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 20129,
                                    "end": 20130,
                                    "loc": {
                                      "start": {
                                        "line": 553,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 553,
                                        "column": 47
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "operator": "<",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 20133,
                                    "end": 20134,
                                    "loc": {
                                      "start": {
                                        "line": 553,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 553,
                                        "column": 51
                                      }
                                    },
                                    "name": "l"
                                  }
                                },
                                "update": {
                                  "type": "UpdateExpression",
                                  "start": 20136,
                                  "end": 20139,
                                  "loc": {
                                    "start": {
                                      "line": 553,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 553,
                                      "column": 56
                                    }
                                  },
                                  "operator": "++",
                                  "prefix": false,
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 20136,
                                    "end": 20137,
                                    "loc": {
                                      "start": {
                                        "line": 553,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 553,
                                        "column": 54
                                      }
                                    },
                                    "name": "i"
                                  }
                                },
                                "body": {
                                  "type": "ExpressionStatement",
                                  "start": 20157,
                                  "end": 20185,
                                  "loc": {
                                    "start": {
                                      "line": 554,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 554,
                                      "column": 44
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 20157,
                                    "end": 20184,
                                    "loc": {
                                      "start": {
                                        "line": 554,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 554,
                                        "column": 43
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 20157,
                                      "end": 20165,
                                      "loc": {
                                        "start": {
                                          "line": 554,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 554,
                                          "column": 24
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 20157,
                                        "end": 20162,
                                        "loc": {
                                          "start": {
                                            "line": 554,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 554,
                                            "column": 21
                                          }
                                        },
                                        "name": "sizes"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 20163,
                                        "end": 20164,
                                        "loc": {
                                          "start": {
                                            "line": 554,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 554,
                                            "column": 23
                                          }
                                        },
                                        "name": "i"
                                      },
                                      "computed": true
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 20168,
                                      "end": 20184,
                                      "loc": {
                                        "start": {
                                          "line": 554,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 554,
                                          "column": 43
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 20168,
                                        "end": 20176,
                                        "loc": {
                                          "start": {
                                            "line": 554,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 554,
                                            "column": 35
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 20168,
                                          "end": 20173,
                                          "loc": {
                                            "start": {
                                              "line": 554,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 554,
                                              "column": 32
                                            }
                                          },
                                          "name": "sizes"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 20174,
                                          "end": 20175,
                                          "loc": {
                                            "start": {
                                              "line": 554,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 554,
                                              "column": 34
                                            }
                                          },
                                          "name": "i"
                                        },
                                        "computed": true
                                      },
                                      "operator": "*",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 20179,
                                        "end": 20184,
                                        "loc": {
                                          "start": {
                                            "line": 554,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 554,
                                            "column": 43
                                          }
                                        },
                                        "name": "coeff"
                                      }
                                    }
                                  }
                                },
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": "aka clone",
                                    "start": 20071,
                                    "end": 20082,
                                    "loc": {
                                      "start": {
                                        "line": 552,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 552,
                                        "column": 61
                                      }
                                    },
                                    "range": [
                                      20071,
                                      20082
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 20198,
                                "end": 20223,
                                "loc": {
                                  "start": {
                                    "line": 555,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 555,
                                    "column": 37
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 20198,
                                  "end": 20222,
                                  "loc": {
                                    "start": {
                                      "line": 555,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 555,
                                      "column": 36
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 20198,
                                    "end": 20215,
                                    "loc": {
                                      "start": {
                                        "line": 555,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 555,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 20198,
                                      "end": 20202,
                                      "loc": {
                                        "start": {
                                          "line": 555,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 555,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 20203,
                                      "end": 20215,
                                      "loc": {
                                        "start": {
                                          "line": 555,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 555,
                                          "column": 29
                                        }
                                      },
                                      "name": "setGeomSizes"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 20216,
                                      "end": 20221,
                                      "loc": {
                                        "start": {
                                          "line": 555,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 555,
                                          "column": 35
                                        }
                                      },
                                      "name": "sizes"
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add the main method which updates geometrical sizes",
                          "start": 19733,
                          "end": 19787,
                          "loc": {
                            "start": {
                              "line": 547,
                              "column": 8
                            },
                            "end": {
                              "line": 547,
                              "column": 62
                            }
                          },
                          "range": [
                            19733,
                            19787
                          ]
                        }
                      ]
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * A mixin which adds capability of specifying sizes in screen pixels.\n     * All sizes are kept in a single list 'pixelSizes'.\n     * Method 'updateSizes' is added: it should be called by user when camera/size changes.\n     * It passes geometrical sizes (in local object space) to method 'setGeomSizes'.\n     * If 'getSizingPoint' method is present in class, it is called to get\n     * calibrating position in local space of the object (otherwise origin is used).\n     ",
                  "start": 18591,
                  "end": 19071,
                  "loc": {
                    "start": {
                      "line": 521,
                      "column": 4
                    },
                    "end": {
                      "line": 528,
                      "column": 7
                    }
                  },
                  "range": [
                    18591,
                    19071
                  ]
                }
              ]
            }
          ],
          "trailingComments": null
        },
        "trailingComments": [
          {
            "type": "Block",
            "value": "\n * Transforms world coordinates into screen coordinates (possibly with derivatives).\n * Screen coordinates are relative to view region, given in pixels. (todo: more precisely?)\n * If 'localToWorld' parameter is an Object3D, then input coordinates are considered in its local space.\n * If 'withDerivs' parameter is set, then derivatives are calculated and returned.\n * @return object/dict with following members:\n *   position: Vector2 containing x and y coordinates of the 'position' point\n *   derivatives: list of three THREE.Vector2 components, showing\n *                how each input coordinate (x, y, z) influences output position on screen\n ",
            "start": 20244,
            "end": 20897,
            "loc": {
              "start": {
                "line": 560,
                "column": 0
              },
              "end": {
                "line": 569,
                "column": 3
              }
            },
            "range": [
              20244,
              20897
            ]
          }
        ],
        "leadingComments": []
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "\n * Transforms world coordinates into screen coordinates (possibly with derivatives).\n * Screen coordinates are relative to view region, given in pixels. (todo: more precisely?)\n * If 'localToWorld' parameter is an Object3D, then input coordinates are considered in its local space.\n * If 'withDerivs' parameter is set, then derivatives are calculated and returned.\n * @return object/dict with following members:\n *   position: Vector2 containing x and y coordinates of the 'position' point\n *   derivatives: list of three THREE.Vector2 components, showing\n *                how each input coordinate (x, y, z) influences output position on screen\n ",
          "start": 20244,
          "end": 20897,
          "loc": {
            "start": {
              "line": 560,
              "column": 0
            },
            "end": {
              "line": 569,
              "column": 3
            }
          },
          "range": [
            20244,
            20897
          ]
        }
      ]
    },
    {
      "type": "FunctionDeclaration",
      "start": 20898,
      "end": 23499,
      "loc": {
        "start": {
          "line": 570,
          "column": 0
        },
        "end": {
          "line": 628,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 20907,
        "end": 20929,
        "loc": {
          "start": {
            "line": 570,
            "column": 9
          },
          "end": {
            "line": 570,
            "column": 31
          }
        },
        "name": "transformWorldToScreen",
        "leadingComments": null
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 20930,
          "end": 20934,
          "loc": {
            "start": {
              "line": 570,
              "column": 32
            },
            "end": {
              "line": 570,
              "column": 36
            }
          },
          "name": "view"
        },
        {
          "type": "Identifier",
          "start": 20936,
          "end": 20944,
          "loc": {
            "start": {
              "line": 570,
              "column": 38
            },
            "end": {
              "line": 570,
              "column": 46
            }
          },
          "name": "position"
        },
        {
          "type": "Identifier",
          "start": 20946,
          "end": 20958,
          "loc": {
            "start": {
              "line": 570,
              "column": 48
            },
            "end": {
              "line": 570,
              "column": 60
            }
          },
          "name": "localToWorld"
        },
        {
          "type": "Identifier",
          "start": 20960,
          "end": 20970,
          "loc": {
            "start": {
              "line": 570,
              "column": 62
            },
            "end": {
              "line": 570,
              "column": 72
            }
          },
          "name": "withDerivs"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 20972,
        "end": 23499,
        "loc": {
          "start": {
            "line": 570,
            "column": 74
          },
          "end": {
            "line": 628,
            "column": 1
          }
        },
        "body": [
          {
            "type": "IfStatement",
            "start": 21039,
            "end": 21181,
            "loc": {
              "start": {
                "line": 572,
                "column": 4
              },
              "end": {
                "line": 575,
                "column": 5
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 21043,
              "end": 21081,
              "loc": {
                "start": {
                  "line": 572,
                  "column": 8
                },
                "end": {
                  "line": 572,
                  "column": 46
                }
              },
              "left": {
                "type": "Identifier",
                "start": 21043,
                "end": 21055,
                "loc": {
                  "start": {
                    "line": 572,
                    "column": 8
                  },
                  "end": {
                    "line": 572,
                    "column": 20
                  }
                },
                "name": "localToWorld",
                "leadingComments": null
              },
              "operator": "instanceof",
              "right": {
                "type": "MemberExpression",
                "start": 21067,
                "end": 21081,
                "loc": {
                  "start": {
                    "line": 572,
                    "column": 32
                  },
                  "end": {
                    "line": 572,
                    "column": 46
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 21067,
                  "end": 21072,
                  "loc": {
                    "start": {
                      "line": 572,
                      "column": 32
                    },
                    "end": {
                      "line": 572,
                      "column": 37
                    }
                  },
                  "name": "THREE"
                },
                "property": {
                  "type": "Identifier",
                  "start": 21073,
                  "end": 21081,
                  "loc": {
                    "start": {
                      "line": 572,
                      "column": 38
                    },
                    "end": {
                      "line": 572,
                      "column": 46
                    }
                  },
                  "name": "Object3D"
                },
                "computed": false
              },
              "leadingComments": null
            },
            "consequent": {
              "type": "BlockStatement",
              "start": 21083,
              "end": 21181,
              "loc": {
                "start": {
                  "line": 572,
                  "column": 48
                },
                "end": {
                  "line": 575,
                  "column": 5
                }
              },
              "body": [
                {
                  "type": "ExpressionStatement",
                  "start": 21093,
                  "end": 21126,
                  "loc": {
                    "start": {
                      "line": 573,
                      "column": 8
                    },
                    "end": {
                      "line": 573,
                      "column": 41
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 21093,
                    "end": 21125,
                    "loc": {
                      "start": {
                        "line": 573,
                        "column": 8
                      },
                      "end": {
                        "line": 573,
                        "column": 40
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 21093,
                      "end": 21123,
                      "loc": {
                        "start": {
                          "line": 573,
                          "column": 8
                        },
                        "end": {
                          "line": 573,
                          "column": 38
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 21093,
                        "end": 21105,
                        "loc": {
                          "start": {
                            "line": 573,
                            "column": 8
                          },
                          "end": {
                            "line": 573,
                            "column": 20
                          }
                        },
                        "name": "localToWorld"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 21106,
                        "end": 21123,
                        "loc": {
                          "start": {
                            "line": 573,
                            "column": 21
                          },
                          "end": {
                            "line": 573,
                            "column": 38
                          }
                        },
                        "name": "updateMatrixWorld"
                      },
                      "computed": false
                    },
                    "arguments": []
                  }
                },
                {
                  "type": "ExpressionStatement",
                  "start": 21135,
                  "end": 21175,
                  "loc": {
                    "start": {
                      "line": 574,
                      "column": 8
                    },
                    "end": {
                      "line": 574,
                      "column": 48
                    }
                  },
                  "expression": {
                    "type": "AssignmentExpression",
                    "start": 21135,
                    "end": 21174,
                    "loc": {
                      "start": {
                        "line": 574,
                        "column": 8
                      },
                      "end": {
                        "line": 574,
                        "column": 47
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 21135,
                      "end": 21147,
                      "loc": {
                        "start": {
                          "line": 574,
                          "column": 8
                        },
                        "end": {
                          "line": 574,
                          "column": 20
                        }
                      },
                      "name": "localToWorld"
                    },
                    "right": {
                      "type": "MemberExpression",
                      "start": 21150,
                      "end": 21174,
                      "loc": {
                        "start": {
                          "line": 574,
                          "column": 23
                        },
                        "end": {
                          "line": 574,
                          "column": 47
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 21150,
                        "end": 21162,
                        "loc": {
                          "start": {
                            "line": 574,
                            "column": 23
                          },
                          "end": {
                            "line": 574,
                            "column": 35
                          }
                        },
                        "name": "localToWorld"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 21163,
                        "end": 21174,
                        "loc": {
                          "start": {
                            "line": 574,
                            "column": 36
                          },
                          "end": {
                            "line": 574,
                            "column": 47
                          }
                        },
                        "name": "matrixWorld"
                      },
                      "computed": false
                    }
                  }
                }
              ]
            },
            "alternate": null,
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " extract local->world transformation used for position",
                "start": 20978,
                "end": 21034,
                "loc": {
                  "start": {
                    "line": 571,
                    "column": 4
                  },
                  "end": {
                    "line": 571,
                    "column": 60
                  }
                },
                "range": [
                  20978,
                  21034
                ]
              }
            ]
          },
          {
            "type": "IfStatement",
            "start": 21186,
            "end": 21275,
            "loc": {
              "start": {
                "line": 576,
                "column": 4
              },
              "end": {
                "line": 577,
                "column": 43
              }
            },
            "test": {
              "type": "UnaryExpression",
              "start": 21190,
              "end": 21230,
              "loc": {
                "start": {
                  "line": 576,
                  "column": 8
                },
                "end": {
                  "line": 576,
                  "column": 48
                }
              },
              "operator": "!",
              "prefix": true,
              "argument": {
                "type": "BinaryExpression",
                "start": 21192,
                "end": 21229,
                "loc": {
                  "start": {
                    "line": 576,
                    "column": 10
                  },
                  "end": {
                    "line": 576,
                    "column": 47
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 21192,
                  "end": 21204,
                  "loc": {
                    "start": {
                      "line": 576,
                      "column": 10
                    },
                    "end": {
                      "line": 576,
                      "column": 22
                    }
                  },
                  "name": "localToWorld"
                },
                "operator": "instanceof",
                "right": {
                  "type": "MemberExpression",
                  "start": 21216,
                  "end": 21229,
                  "loc": {
                    "start": {
                      "line": 576,
                      "column": 34
                    },
                    "end": {
                      "line": 576,
                      "column": 47
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 21216,
                    "end": 21221,
                    "loc": {
                      "start": {
                        "line": 576,
                        "column": 34
                      },
                      "end": {
                        "line": 576,
                        "column": 39
                      }
                    },
                    "name": "THREE"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 21222,
                    "end": 21229,
                    "loc": {
                      "start": {
                        "line": 576,
                        "column": 40
                      },
                      "end": {
                        "line": 576,
                        "column": 47
                      }
                    },
                    "name": "Matrix4"
                  },
                  "computed": false
                },
                "parenthesizedExpression": true
              }
            },
            "consequent": {
              "type": "ExpressionStatement",
              "start": 21240,
              "end": 21275,
              "loc": {
                "start": {
                  "line": 577,
                  "column": 8
                },
                "end": {
                  "line": 577,
                  "column": 43
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 21240,
                "end": 21274,
                "loc": {
                  "start": {
                    "line": 577,
                    "column": 8
                  },
                  "end": {
                    "line": 577,
                    "column": 42
                  }
                },
                "operator": "=",
                "left": {
                  "type": "Identifier",
                  "start": 21240,
                  "end": 21252,
                  "loc": {
                    "start": {
                      "line": 577,
                      "column": 8
                    },
                    "end": {
                      "line": 577,
                      "column": 20
                    }
                  },
                  "name": "localToWorld"
                },
                "right": {
                  "type": "NewExpression",
                  "start": 21255,
                  "end": 21274,
                  "loc": {
                    "start": {
                      "line": 577,
                      "column": 23
                    },
                    "end": {
                      "line": 577,
                      "column": 42
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 21259,
                    "end": 21272,
                    "loc": {
                      "start": {
                        "line": 577,
                        "column": 27
                      },
                      "end": {
                        "line": 577,
                        "column": 40
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 21259,
                      "end": 21264,
                      "loc": {
                        "start": {
                          "line": 577,
                          "column": 27
                        },
                        "end": {
                          "line": 577,
                          "column": 32
                        }
                      },
                      "name": "THREE"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 21265,
                      "end": 21272,
                      "loc": {
                        "start": {
                          "line": 577,
                          "column": 33
                        },
                        "end": {
                          "line": 577,
                          "column": 40
                        }
                      },
                      "name": "Matrix4"
                    },
                    "computed": false
                  },
                  "arguments": []
                }
              },
              "trailingComments": null
            },
            "alternate": null,
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": " extract and compose transformation: input coordinates -> clip coordinates",
                "start": 21281,
                "end": 21357,
                "loc": {
                  "start": {
                    "line": 579,
                    "column": 4
                  },
                  "end": {
                    "line": 579,
                    "column": 80
                  }
                },
                "range": [
                  21281,
                  21357
                ]
              }
            ]
          },
          {
            "type": "ExpressionStatement",
            "start": 21362,
            "end": 21394,
            "loc": {
              "start": {
                "line": 580,
                "column": 4
              },
              "end": {
                "line": 580,
                "column": 36
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 21362,
              "end": 21393,
              "loc": {
                "start": {
                  "line": 580,
                  "column": 4
                },
                "end": {
                  "line": 580,
                  "column": 35
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 21362,
                "end": 21391,
                "loc": {
                  "start": {
                    "line": 580,
                    "column": 4
                  },
                  "end": {
                    "line": 580,
                    "column": 33
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 21362,
                  "end": 21373,
                  "loc": {
                    "start": {
                      "line": 580,
                      "column": 4
                    },
                    "end": {
                      "line": 580,
                      "column": 15
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 21362,
                    "end": 21366,
                    "loc": {
                      "start": {
                        "line": 580,
                        "column": 4
                      },
                      "end": {
                        "line": 580,
                        "column": 8
                      }
                    },
                    "name": "view",
                    "leadingComments": null
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 21367,
                    "end": 21373,
                    "loc": {
                      "start": {
                        "line": 580,
                        "column": 9
                      },
                      "end": {
                        "line": 580,
                        "column": 15
                      }
                    },
                    "name": "camera"
                  },
                  "computed": false,
                  "leadingComments": null
                },
                "property": {
                  "type": "Identifier",
                  "start": 21374,
                  "end": 21391,
                  "loc": {
                    "start": {
                      "line": 580,
                      "column": 16
                    },
                    "end": {
                      "line": 580,
                      "column": 33
                    }
                  },
                  "name": "updateMatrixWorld"
                },
                "computed": false,
                "leadingComments": null
              },
              "arguments": [],
              "leadingComments": null
            },
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " extract and compose transformation: input coordinates -> clip coordinates",
                "start": 21281,
                "end": 21357,
                "loc": {
                  "start": {
                    "line": 579,
                    "column": 4
                  },
                  "end": {
                    "line": 579,
                    "column": 80
                  }
                },
                "range": [
                  21281,
                  21357
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 21399,
            "end": 21432,
            "loc": {
              "start": {
                "line": 581,
                "column": 4
              },
              "end": {
                "line": 581,
                "column": 37
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 21403,
                "end": 21431,
                "loc": {
                  "start": {
                    "line": 581,
                    "column": 8
                  },
                  "end": {
                    "line": 581,
                    "column": 36
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 21403,
                  "end": 21409,
                  "loc": {
                    "start": {
                      "line": 581,
                      "column": 8
                    },
                    "end": {
                      "line": 581,
                      "column": 14
                    }
                  },
                  "name": "matrix"
                },
                "init": {
                  "type": "NewExpression",
                  "start": 21412,
                  "end": 21431,
                  "loc": {
                    "start": {
                      "line": 581,
                      "column": 17
                    },
                    "end": {
                      "line": 581,
                      "column": 36
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 21416,
                    "end": 21429,
                    "loc": {
                      "start": {
                        "line": 581,
                        "column": 21
                      },
                      "end": {
                        "line": 581,
                        "column": 34
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 21416,
                      "end": 21421,
                      "loc": {
                        "start": {
                          "line": 581,
                          "column": 21
                        },
                        "end": {
                          "line": 581,
                          "column": 26
                        }
                      },
                      "name": "THREE"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 21422,
                      "end": 21429,
                      "loc": {
                        "start": {
                          "line": 581,
                          "column": 27
                        },
                        "end": {
                          "line": 581,
                          "column": 34
                        }
                      },
                      "name": "Matrix4"
                    },
                    "computed": false
                  },
                  "arguments": []
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "ExpressionStatement",
            "start": 21437,
            "end": 21480,
            "loc": {
              "start": {
                "line": 582,
                "column": 4
              },
              "end": {
                "line": 582,
                "column": 47
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 21437,
              "end": 21479,
              "loc": {
                "start": {
                  "line": 582,
                  "column": 4
                },
                "end": {
                  "line": 582,
                  "column": 46
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 21437,
                "end": 21454,
                "loc": {
                  "start": {
                    "line": 582,
                    "column": 4
                  },
                  "end": {
                    "line": 582,
                    "column": 21
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 21437,
                  "end": 21443,
                  "loc": {
                    "start": {
                      "line": 582,
                      "column": 4
                    },
                    "end": {
                      "line": 582,
                      "column": 10
                    }
                  },
                  "name": "matrix"
                },
                "property": {
                  "type": "Identifier",
                  "start": 21444,
                  "end": 21454,
                  "loc": {
                    "start": {
                      "line": 582,
                      "column": 11
                    },
                    "end": {
                      "line": 582,
                      "column": 21
                    }
                  },
                  "name": "getInverse"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "MemberExpression",
                  "start": 21455,
                  "end": 21478,
                  "loc": {
                    "start": {
                      "line": 582,
                      "column": 22
                    },
                    "end": {
                      "line": 582,
                      "column": 45
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 21455,
                    "end": 21466,
                    "loc": {
                      "start": {
                        "line": 582,
                        "column": 22
                      },
                      "end": {
                        "line": 582,
                        "column": 33
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 21455,
                      "end": 21459,
                      "loc": {
                        "start": {
                          "line": 582,
                          "column": 22
                        },
                        "end": {
                          "line": 582,
                          "column": 26
                        }
                      },
                      "name": "view"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 21460,
                      "end": 21466,
                      "loc": {
                        "start": {
                          "line": 582,
                          "column": 27
                        },
                        "end": {
                          "line": 582,
                          "column": 33
                        }
                      },
                      "name": "camera"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 21467,
                    "end": 21478,
                    "loc": {
                      "start": {
                        "line": 582,
                        "column": 34
                      },
                      "end": {
                        "line": 582,
                        "column": 45
                      }
                    },
                    "name": "matrixWorld"
                  },
                  "computed": false
                }
              ]
            },
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": "modelview",
                "start": 21505,
                "end": 21516,
                "loc": {
                  "start": {
                    "line": 582,
                    "column": 72
                  },
                  "end": {
                    "line": 582,
                    "column": 83
                  }
                },
                "range": [
                  21505,
                  21516
                ]
              }
            ]
          },
          {
            "type": "ExpressionStatement",
            "start": 21521,
            "end": 21567,
            "loc": {
              "start": {
                "line": 583,
                "column": 4
              },
              "end": {
                "line": 583,
                "column": 50
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 21521,
              "end": 21566,
              "loc": {
                "start": {
                  "line": 583,
                  "column": 4
                },
                "end": {
                  "line": 583,
                  "column": 49
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 21521,
                "end": 21544,
                "loc": {
                  "start": {
                    "line": 583,
                    "column": 4
                  },
                  "end": {
                    "line": 583,
                    "column": 27
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 21521,
                  "end": 21527,
                  "loc": {
                    "start": {
                      "line": 583,
                      "column": 4
                    },
                    "end": {
                      "line": 583,
                      "column": 10
                    }
                  },
                  "name": "matrix",
                  "leadingComments": null
                },
                "property": {
                  "type": "Identifier",
                  "start": 21528,
                  "end": 21544,
                  "loc": {
                    "start": {
                      "line": 583,
                      "column": 11
                    },
                    "end": {
                      "line": 583,
                      "column": 27
                    }
                  },
                  "name": "multiplyMatrices"
                },
                "computed": false,
                "leadingComments": null
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "start": 21545,
                  "end": 21551,
                  "loc": {
                    "start": {
                      "line": 583,
                      "column": 28
                    },
                    "end": {
                      "line": 583,
                      "column": 34
                    }
                  },
                  "name": "matrix"
                },
                {
                  "type": "Identifier",
                  "start": 21553,
                  "end": 21565,
                  "loc": {
                    "start": {
                      "line": 583,
                      "column": 36
                    },
                    "end": {
                      "line": 583,
                      "column": 48
                    }
                  },
                  "name": "localToWorld"
                }
              ],
              "leadingComments": null
            },
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": "modelview",
                "start": 21505,
                "end": 21516,
                "loc": {
                  "start": {
                    "line": 582,
                    "column": 72
                  },
                  "end": {
                    "line": 582,
                    "column": 83
                  }
                },
                "range": [
                  21505,
                  21516
                ]
              }
            ],
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": "transform + modelview",
                "start": 21589,
                "end": 21612,
                "loc": {
                  "start": {
                    "line": 583,
                    "column": 72
                  },
                  "end": {
                    "line": 583,
                    "column": 95
                  }
                },
                "range": [
                  21589,
                  21612
                ]
              }
            ]
          },
          {
            "type": "ExpressionStatement",
            "start": 21617,
            "end": 21679,
            "loc": {
              "start": {
                "line": 584,
                "column": 4
              },
              "end": {
                "line": 584,
                "column": 66
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 21617,
              "end": 21678,
              "loc": {
                "start": {
                  "line": 584,
                  "column": 4
                },
                "end": {
                  "line": 584,
                  "column": 65
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 21617,
                "end": 21640,
                "loc": {
                  "start": {
                    "line": 584,
                    "column": 4
                  },
                  "end": {
                    "line": 584,
                    "column": 27
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 21617,
                  "end": 21623,
                  "loc": {
                    "start": {
                      "line": 584,
                      "column": 4
                    },
                    "end": {
                      "line": 584,
                      "column": 10
                    }
                  },
                  "name": "matrix",
                  "leadingComments": null
                },
                "property": {
                  "type": "Identifier",
                  "start": 21624,
                  "end": 21640,
                  "loc": {
                    "start": {
                      "line": 584,
                      "column": 11
                    },
                    "end": {
                      "line": 584,
                      "column": 27
                    }
                  },
                  "name": "multiplyMatrices"
                },
                "computed": false,
                "leadingComments": null
              },
              "arguments": [
                {
                  "type": "MemberExpression",
                  "start": 21641,
                  "end": 21669,
                  "loc": {
                    "start": {
                      "line": 584,
                      "column": 28
                    },
                    "end": {
                      "line": 584,
                      "column": 56
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 21641,
                    "end": 21652,
                    "loc": {
                      "start": {
                        "line": 584,
                        "column": 28
                      },
                      "end": {
                        "line": 584,
                        "column": 39
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 21641,
                      "end": 21645,
                      "loc": {
                        "start": {
                          "line": 584,
                          "column": 28
                        },
                        "end": {
                          "line": 584,
                          "column": 32
                        }
                      },
                      "name": "view"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 21646,
                      "end": 21652,
                      "loc": {
                        "start": {
                          "line": 584,
                          "column": 33
                        },
                        "end": {
                          "line": 584,
                          "column": 39
                        }
                      },
                      "name": "camera"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 21653,
                    "end": 21669,
                    "loc": {
                      "start": {
                        "line": 584,
                        "column": 40
                      },
                      "end": {
                        "line": 584,
                        "column": 56
                      }
                    },
                    "name": "projectionMatrix"
                  },
                  "computed": false
                },
                {
                  "type": "Identifier",
                  "start": 21671,
                  "end": 21677,
                  "loc": {
                    "start": {
                      "line": 584,
                      "column": 58
                    },
                    "end": {
                      "line": 584,
                      "column": 64
                    }
                  },
                  "name": "matrix"
                }
              ],
              "leadingComments": null
            },
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": "transform + modelview",
                "start": 21589,
                "end": 21612,
                "loc": {
                  "start": {
                    "line": 583,
                    "column": 72
                  },
                  "end": {
                    "line": 583,
                    "column": 95
                  }
                },
                "range": [
                  21589,
                  21612
                ]
              }
            ],
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": "tr + mv + prj",
                "start": 21685,
                "end": 21700,
                "loc": {
                  "start": {
                    "line": 584,
                    "column": 72
                  },
                  "end": {
                    "line": 584,
                    "column": 87
                  }
                },
                "range": [
                  21685,
                  21700
                ]
              },
              {
                "type": "CommentLine",
                "value": " calculate NDC coordinates",
                "start": 21706,
                "end": 21734,
                "loc": {
                  "start": {
                    "line": 586,
                    "column": 4
                  },
                  "end": {
                    "line": 586,
                    "column": 32
                  }
                },
                "range": [
                  21706,
                  21734
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 21739,
            "end": 21814,
            "loc": {
              "start": {
                "line": 587,
                "column": 4
              },
              "end": {
                "line": 587,
                "column": 79
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 21743,
                "end": 21813,
                "loc": {
                  "start": {
                    "line": 587,
                    "column": 8
                  },
                  "end": {
                    "line": 587,
                    "column": 78
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 21743,
                  "end": 21755,
                  "loc": {
                    "start": {
                      "line": 587,
                      "column": 8
                    },
                    "end": {
                      "line": 587,
                      "column": 20
                    }
                  },
                  "name": "clipPosition",
                  "leadingComments": null
                },
                "init": {
                  "type": "CallExpression",
                  "start": 21758,
                  "end": 21813,
                  "loc": {
                    "start": {
                      "line": 587,
                      "column": 23
                    },
                    "end": {
                      "line": 587,
                      "column": 78
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 21758,
                    "end": 21805,
                    "loc": {
                      "start": {
                        "line": 587,
                        "column": 23
                      },
                      "end": {
                        "line": 587,
                        "column": 70
                      }
                    },
                    "object": {
                      "type": "CallExpression",
                      "start": 21758,
                      "end": 21792,
                      "loc": {
                        "start": {
                          "line": 587,
                          "column": 23
                        },
                        "end": {
                          "line": 587,
                          "column": 57
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 21758,
                        "end": 21782,
                        "loc": {
                          "start": {
                            "line": 587,
                            "column": 23
                          },
                          "end": {
                            "line": 587,
                            "column": 47
                          }
                        },
                        "object": {
                          "type": "NewExpression",
                          "start": 21758,
                          "end": 21777,
                          "loc": {
                            "start": {
                              "line": 587,
                              "column": 23
                            },
                            "end": {
                              "line": 587,
                              "column": 42
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 21762,
                            "end": 21775,
                            "loc": {
                              "start": {
                                "line": 587,
                                "column": 27
                              },
                              "end": {
                                "line": 587,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 21762,
                              "end": 21767,
                              "loc": {
                                "start": {
                                  "line": 587,
                                  "column": 27
                                },
                                "end": {
                                  "line": 587,
                                  "column": 32
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 21768,
                              "end": 21775,
                              "loc": {
                                "start": {
                                  "line": 587,
                                  "column": 33
                                },
                                "end": {
                                  "line": 587,
                                  "column": 40
                                }
                              },
                              "name": "Vector4"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 21778,
                          "end": 21782,
                          "loc": {
                            "start": {
                              "line": 587,
                              "column": 43
                            },
                            "end": {
                              "line": 587,
                              "column": 47
                            }
                          },
                          "name": "copy"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 21783,
                          "end": 21791,
                          "loc": {
                            "start": {
                              "line": 587,
                              "column": 48
                            },
                            "end": {
                              "line": 587,
                              "column": 56
                            }
                          },
                          "name": "position"
                        }
                      ]
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 21793,
                      "end": 21805,
                      "loc": {
                        "start": {
                          "line": 587,
                          "column": 58
                        },
                        "end": {
                          "line": 587,
                          "column": 70
                        }
                      },
                      "name": "applyMatrix4"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 21806,
                      "end": 21812,
                      "loc": {
                        "start": {
                          "line": 587,
                          "column": 71
                        },
                        "end": {
                          "line": 587,
                          "column": 77
                        }
                      },
                      "name": "matrix"
                    }
                  ]
                },
                "leadingComments": null
              }
            ],
            "kind": "var",
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": "tr + mv + prj",
                "start": 21685,
                "end": 21700,
                "loc": {
                  "start": {
                    "line": 584,
                    "column": 72
                  },
                  "end": {
                    "line": 584,
                    "column": 87
                  }
                },
                "range": [
                  21685,
                  21700
                ]
              },
              {
                "type": "CommentLine",
                "value": " calculate NDC coordinates",
                "start": 21706,
                "end": 21734,
                "loc": {
                  "start": {
                    "line": 586,
                    "column": 4
                  },
                  "end": {
                    "line": 586,
                    "column": 32
                  }
                },
                "range": [
                  21706,
                  21734
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 21819,
            "end": 21851,
            "loc": {
              "start": {
                "line": 588,
                "column": 4
              },
              "end": {
                "line": 588,
                "column": 36
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 21823,
                "end": 21850,
                "loc": {
                  "start": {
                    "line": 588,
                    "column": 8
                  },
                  "end": {
                    "line": 588,
                    "column": 35
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 21823,
                  "end": 21827,
                  "loc": {
                    "start": {
                      "line": 588,
                      "column": 8
                    },
                    "end": {
                      "line": 588,
                      "column": 12
                    }
                  },
                  "name": "invW"
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 21830,
                  "end": 21850,
                  "loc": {
                    "start": {
                      "line": 588,
                      "column": 15
                    },
                    "end": {
                      "line": 588,
                      "column": 35
                    }
                  },
                  "left": {
                    "type": "Literal",
                    "start": 21830,
                    "end": 21833,
                    "loc": {
                      "start": {
                        "line": 588,
                        "column": 15
                      },
                      "end": {
                        "line": 588,
                        "column": 18
                      }
                    },
                    "value": 1,
                    "rawValue": 1,
                    "raw": "1.0"
                  },
                  "operator": "/",
                  "right": {
                    "type": "MemberExpression",
                    "start": 21836,
                    "end": 21850,
                    "loc": {
                      "start": {
                        "line": 588,
                        "column": 21
                      },
                      "end": {
                        "line": 588,
                        "column": 35
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 21836,
                      "end": 21848,
                      "loc": {
                        "start": {
                          "line": 588,
                          "column": 21
                        },
                        "end": {
                          "line": 588,
                          "column": 33
                        }
                      },
                      "name": "clipPosition"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 21849,
                      "end": 21850,
                      "loc": {
                        "start": {
                          "line": 588,
                          "column": 34
                        },
                        "end": {
                          "line": 588,
                          "column": 35
                        }
                      },
                      "name": "w"
                    },
                    "computed": false
                  }
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 21856,
            "end": 21934,
            "loc": {
              "start": {
                "line": 589,
                "column": 4
              },
              "end": {
                "line": 589,
                "column": 82
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 21860,
                "end": 21933,
                "loc": {
                  "start": {
                    "line": 589,
                    "column": 8
                  },
                  "end": {
                    "line": 589,
                    "column": 81
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 21860,
                  "end": 21871,
                  "loc": {
                    "start": {
                      "line": 589,
                      "column": 8
                    },
                    "end": {
                      "line": 589,
                      "column": 19
                    }
                  },
                  "name": "ndcPosition"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 21874,
                  "end": 21933,
                  "loc": {
                    "start": {
                      "line": 589,
                      "column": 22
                    },
                    "end": {
                      "line": 589,
                      "column": 81
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 21874,
                    "end": 21927,
                    "loc": {
                      "start": {
                        "line": 589,
                        "column": 22
                      },
                      "end": {
                        "line": 589,
                        "column": 75
                      }
                    },
                    "object": {
                      "type": "CallExpression",
                      "start": 21874,
                      "end": 21912,
                      "loc": {
                        "start": {
                          "line": 589,
                          "column": 22
                        },
                        "end": {
                          "line": 589,
                          "column": 60
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 21874,
                        "end": 21898,
                        "loc": {
                          "start": {
                            "line": 589,
                            "column": 22
                          },
                          "end": {
                            "line": 589,
                            "column": 46
                          }
                        },
                        "object": {
                          "type": "NewExpression",
                          "start": 21874,
                          "end": 21893,
                          "loc": {
                            "start": {
                              "line": 589,
                              "column": 22
                            },
                            "end": {
                              "line": 589,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 21878,
                            "end": 21891,
                            "loc": {
                              "start": {
                                "line": 589,
                                "column": 26
                              },
                              "end": {
                                "line": 589,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 21878,
                              "end": 21883,
                              "loc": {
                                "start": {
                                  "line": 589,
                                  "column": 26
                                },
                                "end": {
                                  "line": 589,
                                  "column": 31
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 21884,
                              "end": 21891,
                              "loc": {
                                "start": {
                                  "line": 589,
                                  "column": 32
                                },
                                "end": {
                                  "line": 589,
                                  "column": 39
                                }
                              },
                              "name": "Vector3"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 21894,
                          "end": 21898,
                          "loc": {
                            "start": {
                              "line": 589,
                              "column": 42
                            },
                            "end": {
                              "line": 589,
                              "column": 46
                            }
                          },
                          "name": "copy"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 21899,
                          "end": 21911,
                          "loc": {
                            "start": {
                              "line": 589,
                              "column": 47
                            },
                            "end": {
                              "line": 589,
                              "column": 59
                            }
                          },
                          "name": "clipPosition"
                        }
                      ]
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 21913,
                      "end": 21927,
                      "loc": {
                        "start": {
                          "line": 589,
                          "column": 61
                        },
                        "end": {
                          "line": 589,
                          "column": 75
                        }
                      },
                      "name": "multiplyScalar"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 21928,
                      "end": 21932,
                      "loc": {
                        "start": {
                          "line": 589,
                          "column": 76
                        },
                        "end": {
                          "line": 589,
                          "column": 80
                        }
                      },
                      "name": "invW"
                    }
                  ]
                }
              }
            ],
            "kind": "var",
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": " calculate NDC derivatives",
                "start": 21940,
                "end": 21968,
                "loc": {
                  "start": {
                    "line": 591,
                    "column": 4
                  },
                  "end": {
                    "line": 591,
                    "column": 32
                  }
                },
                "range": [
                  21940,
                  21968
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 21973,
            "end": 22009,
            "loc": {
              "start": {
                "line": 592,
                "column": 4
              },
              "end": {
                "line": 592,
                "column": 40
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 21977,
                "end": 22008,
                "loc": {
                  "start": {
                    "line": 592,
                    "column": 8
                  },
                  "end": {
                    "line": 592,
                    "column": 39
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 21977,
                  "end": 21986,
                  "loc": {
                    "start": {
                      "line": 592,
                      "column": 8
                    },
                    "end": {
                      "line": 592,
                      "column": 17
                    }
                  },
                  "name": "ndcDerivs",
                  "leadingComments": null
                },
                "init": {
                  "type": "NewExpression",
                  "start": 21989,
                  "end": 22008,
                  "loc": {
                    "start": {
                      "line": 592,
                      "column": 20
                    },
                    "end": {
                      "line": 592,
                      "column": 39
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 21993,
                    "end": 22006,
                    "loc": {
                      "start": {
                        "line": 592,
                        "column": 24
                      },
                      "end": {
                        "line": 592,
                        "column": 37
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 21993,
                      "end": 21998,
                      "loc": {
                        "start": {
                          "line": 592,
                          "column": 24
                        },
                        "end": {
                          "line": 592,
                          "column": 29
                        }
                      },
                      "name": "THREE"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 21999,
                      "end": 22006,
                      "loc": {
                        "start": {
                          "line": 592,
                          "column": 30
                        },
                        "end": {
                          "line": 592,
                          "column": 37
                        }
                      },
                      "name": "Matrix4"
                    },
                    "computed": false
                  },
                  "arguments": []
                },
                "leadingComments": null
              }
            ],
            "kind": "var",
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " calculate NDC derivatives",
                "start": 21940,
                "end": 21968,
                "loc": {
                  "start": {
                    "line": 591,
                    "column": 4
                  },
                  "end": {
                    "line": 591,
                    "column": 32
                  }
                },
                "range": [
                  21940,
                  21968
                ]
              }
            ]
          },
          {
            "type": "IfStatement",
            "start": 22014,
            "end": 22552,
            "loc": {
              "start": {
                "line": 593,
                "column": 4
              },
              "end": {
                "line": 604,
                "column": 5
              }
            },
            "test": {
              "type": "Identifier",
              "start": 22018,
              "end": 22028,
              "loc": {
                "start": {
                  "line": 593,
                  "column": 8
                },
                "end": {
                  "line": 593,
                  "column": 18
                }
              },
              "name": "withDerivs"
            },
            "consequent": {
              "type": "BlockStatement",
              "start": 22030,
              "end": 22552,
              "loc": {
                "start": {
                  "line": 593,
                  "column": 20
                },
                "end": {
                  "line": 604,
                  "column": 5
                }
              },
              "body": [
                {
                  "type": "VariableDeclaration",
                  "start": 22110,
                  "end": 22156,
                  "loc": {
                    "start": {
                      "line": 595,
                      "column": 8
                    },
                    "end": {
                      "line": 595,
                      "column": 54
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 22114,
                      "end": 22155,
                      "loc": {
                        "start": {
                          "line": 595,
                          "column": 12
                        },
                        "end": {
                          "line": 595,
                          "column": 53
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 22114,
                        "end": 22133,
                        "loc": {
                          "start": {
                            "line": 595,
                            "column": 12
                          },
                          "end": {
                            "line": 595,
                            "column": 31
                          }
                        },
                        "name": "normalizationMatrix",
                        "leadingComments": null
                      },
                      "init": {
                        "type": "NewExpression",
                        "start": 22136,
                        "end": 22155,
                        "loc": {
                          "start": {
                            "line": 595,
                            "column": 34
                          },
                          "end": {
                            "line": 595,
                            "column": 53
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 22140,
                          "end": 22153,
                          "loc": {
                            "start": {
                              "line": 595,
                              "column": 38
                            },
                            "end": {
                              "line": 595,
                              "column": 51
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 22140,
                            "end": 22145,
                            "loc": {
                              "start": {
                                "line": 595,
                                "column": 38
                              },
                              "end": {
                                "line": 595,
                                "column": 43
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 22146,
                            "end": 22153,
                            "loc": {
                              "start": {
                                "line": 595,
                                "column": 44
                              },
                              "end": {
                                "line": 595,
                                "column": 51
                              }
                            },
                            "name": "Matrix4"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "leadingComments": null
                    }
                  ],
                  "kind": "var",
                  "leadingComments": [
                    {
                      "type": "CommentLine",
                      "value": " calculate Jacobian matrix of normalization (division by W)",
                      "start": 22040,
                      "end": 22101,
                      "loc": {
                        "start": {
                          "line": 594,
                          "column": 8
                        },
                        "end": {
                          "line": 594,
                          "column": 69
                        }
                      },
                      "range": [
                        22040,
                        22101
                      ]
                    }
                  ]
                },
                {
                  "type": "ExpressionStatement",
                  "start": 22165,
                  "end": 22382,
                  "loc": {
                    "start": {
                      "line": 596,
                      "column": 8
                    },
                    "end": {
                      "line": 601,
                      "column": 10
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 22165,
                    "end": 22381,
                    "loc": {
                      "start": {
                        "line": 596,
                        "column": 8
                      },
                      "end": {
                        "line": 601,
                        "column": 9
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 22165,
                      "end": 22188,
                      "loc": {
                        "start": {
                          "line": 596,
                          "column": 8
                        },
                        "end": {
                          "line": 596,
                          "column": 31
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 22165,
                        "end": 22184,
                        "loc": {
                          "start": {
                            "line": 596,
                            "column": 8
                          },
                          "end": {
                            "line": 596,
                            "column": 27
                          }
                        },
                        "name": "normalizationMatrix"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 22185,
                        "end": 22188,
                        "loc": {
                          "start": {
                            "line": 596,
                            "column": 28
                          },
                          "end": {
                            "line": 596,
                            "column": 31
                          }
                        },
                        "name": "set"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 22202,
                        "end": 22206,
                        "loc": {
                          "start": {
                            "line": 597,
                            "column": 12
                          },
                          "end": {
                            "line": 597,
                            "column": 16
                          }
                        },
                        "name": "invW"
                      },
                      {
                        "type": "Literal",
                        "start": 22208,
                        "end": 22209,
                        "loc": {
                          "start": {
                            "line": 597,
                            "column": 18
                          },
                          "end": {
                            "line": 597,
                            "column": 19
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Literal",
                        "start": 22211,
                        "end": 22212,
                        "loc": {
                          "start": {
                            "line": 597,
                            "column": 21
                          },
                          "end": {
                            "line": 597,
                            "column": 22
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "BinaryExpression",
                        "start": 22214,
                        "end": 22241,
                        "loc": {
                          "start": {
                            "line": 597,
                            "column": 24
                          },
                          "end": {
                            "line": 597,
                            "column": 51
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 22214,
                          "end": 22236,
                          "loc": {
                            "start": {
                              "line": 597,
                              "column": 24
                            },
                            "end": {
                              "line": 597,
                              "column": 46
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 22214,
                            "end": 22229,
                            "loc": {
                              "start": {
                                "line": 597,
                                "column": 24
                              },
                              "end": {
                                "line": 597,
                                "column": 39
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "MemberExpression",
                              "start": 22215,
                              "end": 22229,
                              "loc": {
                                "start": {
                                  "line": 597,
                                  "column": 25
                                },
                                "end": {
                                  "line": 597,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 22215,
                                "end": 22227,
                                "loc": {
                                  "start": {
                                    "line": 597,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 597,
                                    "column": 37
                                  }
                                },
                                "name": "clipPosition"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 22228,
                                "end": 22229,
                                "loc": {
                                  "start": {
                                    "line": 597,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 597,
                                    "column": 39
                                  }
                                },
                                "name": "x"
                              },
                              "computed": false
                            }
                          },
                          "operator": "*",
                          "right": {
                            "type": "Identifier",
                            "start": 22232,
                            "end": 22236,
                            "loc": {
                              "start": {
                                "line": 597,
                                "column": 42
                              },
                              "end": {
                                "line": 597,
                                "column": 46
                              }
                            },
                            "name": "invW"
                          }
                        },
                        "operator": "*",
                        "right": {
                          "type": "Identifier",
                          "start": 22237,
                          "end": 22241,
                          "loc": {
                            "start": {
                              "line": 597,
                              "column": 47
                            },
                            "end": {
                              "line": 597,
                              "column": 51
                            }
                          },
                          "name": "invW"
                        }
                      },
                      {
                        "type": "Literal",
                        "start": 22255,
                        "end": 22256,
                        "loc": {
                          "start": {
                            "line": 598,
                            "column": 12
                          },
                          "end": {
                            "line": 598,
                            "column": 13
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Identifier",
                        "start": 22258,
                        "end": 22262,
                        "loc": {
                          "start": {
                            "line": 598,
                            "column": 15
                          },
                          "end": {
                            "line": 598,
                            "column": 19
                          }
                        },
                        "name": "invW"
                      },
                      {
                        "type": "Literal",
                        "start": 22264,
                        "end": 22265,
                        "loc": {
                          "start": {
                            "line": 598,
                            "column": 21
                          },
                          "end": {
                            "line": 598,
                            "column": 22
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "BinaryExpression",
                        "start": 22267,
                        "end": 22294,
                        "loc": {
                          "start": {
                            "line": 598,
                            "column": 24
                          },
                          "end": {
                            "line": 598,
                            "column": 51
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 22267,
                          "end": 22289,
                          "loc": {
                            "start": {
                              "line": 598,
                              "column": 24
                            },
                            "end": {
                              "line": 598,
                              "column": 46
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 22267,
                            "end": 22282,
                            "loc": {
                              "start": {
                                "line": 598,
                                "column": 24
                              },
                              "end": {
                                "line": 598,
                                "column": 39
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "MemberExpression",
                              "start": 22268,
                              "end": 22282,
                              "loc": {
                                "start": {
                                  "line": 598,
                                  "column": 25
                                },
                                "end": {
                                  "line": 598,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 22268,
                                "end": 22280,
                                "loc": {
                                  "start": {
                                    "line": 598,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 598,
                                    "column": 37
                                  }
                                },
                                "name": "clipPosition"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 22281,
                                "end": 22282,
                                "loc": {
                                  "start": {
                                    "line": 598,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 598,
                                    "column": 39
                                  }
                                },
                                "name": "y"
                              },
                              "computed": false
                            }
                          },
                          "operator": "*",
                          "right": {
                            "type": "Identifier",
                            "start": 22285,
                            "end": 22289,
                            "loc": {
                              "start": {
                                "line": 598,
                                "column": 42
                              },
                              "end": {
                                "line": 598,
                                "column": 46
                              }
                            },
                            "name": "invW"
                          }
                        },
                        "operator": "*",
                        "right": {
                          "type": "Identifier",
                          "start": 22290,
                          "end": 22294,
                          "loc": {
                            "start": {
                              "line": 598,
                              "column": 47
                            },
                            "end": {
                              "line": 598,
                              "column": 51
                            }
                          },
                          "name": "invW"
                        }
                      },
                      {
                        "type": "Literal",
                        "start": 22308,
                        "end": 22309,
                        "loc": {
                          "start": {
                            "line": 599,
                            "column": 12
                          },
                          "end": {
                            "line": 599,
                            "column": 13
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Literal",
                        "start": 22311,
                        "end": 22312,
                        "loc": {
                          "start": {
                            "line": 599,
                            "column": 15
                          },
                          "end": {
                            "line": 599,
                            "column": 16
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Identifier",
                        "start": 22314,
                        "end": 22318,
                        "loc": {
                          "start": {
                            "line": 599,
                            "column": 18
                          },
                          "end": {
                            "line": 599,
                            "column": 22
                          }
                        },
                        "name": "invW"
                      },
                      {
                        "type": "BinaryExpression",
                        "start": 22320,
                        "end": 22347,
                        "loc": {
                          "start": {
                            "line": 599,
                            "column": 24
                          },
                          "end": {
                            "line": 599,
                            "column": 51
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 22320,
                          "end": 22342,
                          "loc": {
                            "start": {
                              "line": 599,
                              "column": 24
                            },
                            "end": {
                              "line": 599,
                              "column": 46
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 22320,
                            "end": 22335,
                            "loc": {
                              "start": {
                                "line": 599,
                                "column": 24
                              },
                              "end": {
                                "line": 599,
                                "column": 39
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "MemberExpression",
                              "start": 22321,
                              "end": 22335,
                              "loc": {
                                "start": {
                                  "line": 599,
                                  "column": 25
                                },
                                "end": {
                                  "line": 599,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 22321,
                                "end": 22333,
                                "loc": {
                                  "start": {
                                    "line": 599,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 599,
                                    "column": 37
                                  }
                                },
                                "name": "clipPosition"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 22334,
                                "end": 22335,
                                "loc": {
                                  "start": {
                                    "line": 599,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 599,
                                    "column": 39
                                  }
                                },
                                "name": "z"
                              },
                              "computed": false
                            }
                          },
                          "operator": "*",
                          "right": {
                            "type": "Identifier",
                            "start": 22338,
                            "end": 22342,
                            "loc": {
                              "start": {
                                "line": 599,
                                "column": 42
                              },
                              "end": {
                                "line": 599,
                                "column": 46
                              }
                            },
                            "name": "invW"
                          }
                        },
                        "operator": "*",
                        "right": {
                          "type": "Identifier",
                          "start": 22343,
                          "end": 22347,
                          "loc": {
                            "start": {
                              "line": 599,
                              "column": 47
                            },
                            "end": {
                              "line": 599,
                              "column": 51
                            }
                          },
                          "name": "invW"
                        }
                      },
                      {
                        "type": "Literal",
                        "start": 22361,
                        "end": 22362,
                        "loc": {
                          "start": {
                            "line": 600,
                            "column": 12
                          },
                          "end": {
                            "line": 600,
                            "column": 13
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Literal",
                        "start": 22364,
                        "end": 22365,
                        "loc": {
                          "start": {
                            "line": 600,
                            "column": 15
                          },
                          "end": {
                            "line": 600,
                            "column": 16
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Literal",
                        "start": 22367,
                        "end": 22368,
                        "loc": {
                          "start": {
                            "line": 600,
                            "column": 18
                          },
                          "end": {
                            "line": 600,
                            "column": 19
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Literal",
                        "start": 22370,
                        "end": 22371,
                        "loc": {
                          "start": {
                            "line": 600,
                            "column": 21
                          },
                          "end": {
                            "line": 600,
                            "column": 22
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      }
                    ]
                  },
                  "trailingComments": [
                    {
                      "type": "CommentLine",
                      "value": " derivatives of NDS coordinates are obtained as transformation first, normalization then",
                      "start": 22391,
                      "end": 22481,
                      "loc": {
                        "start": {
                          "line": 602,
                          "column": 8
                        },
                        "end": {
                          "line": 602,
                          "column": 98
                        }
                      },
                      "range": [
                        22391,
                        22481
                      ]
                    }
                  ]
                },
                {
                  "type": "ExpressionStatement",
                  "start": 22490,
                  "end": 22546,
                  "loc": {
                    "start": {
                      "line": 603,
                      "column": 8
                    },
                    "end": {
                      "line": 603,
                      "column": 64
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 22490,
                    "end": 22545,
                    "loc": {
                      "start": {
                        "line": 603,
                        "column": 8
                      },
                      "end": {
                        "line": 603,
                        "column": 63
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 22490,
                      "end": 22516,
                      "loc": {
                        "start": {
                          "line": 603,
                          "column": 8
                        },
                        "end": {
                          "line": 603,
                          "column": 34
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 22490,
                        "end": 22499,
                        "loc": {
                          "start": {
                            "line": 603,
                            "column": 8
                          },
                          "end": {
                            "line": 603,
                            "column": 17
                          }
                        },
                        "name": "ndcDerivs",
                        "leadingComments": null
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 22500,
                        "end": 22516,
                        "loc": {
                          "start": {
                            "line": 603,
                            "column": 18
                          },
                          "end": {
                            "line": 603,
                            "column": 34
                          }
                        },
                        "name": "multiplyMatrices"
                      },
                      "computed": false,
                      "leadingComments": null
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 22517,
                        "end": 22536,
                        "loc": {
                          "start": {
                            "line": 603,
                            "column": 35
                          },
                          "end": {
                            "line": 603,
                            "column": 54
                          }
                        },
                        "name": "normalizationMatrix"
                      },
                      {
                        "type": "Identifier",
                        "start": 22538,
                        "end": 22544,
                        "loc": {
                          "start": {
                            "line": 603,
                            "column": 56
                          },
                          "end": {
                            "line": 603,
                            "column": 62
                          }
                        },
                        "name": "matrix"
                      }
                    ],
                    "leadingComments": null
                  },
                  "leadingComments": [
                    {
                      "type": "CommentLine",
                      "value": " derivatives of NDS coordinates are obtained as transformation first, normalization then",
                      "start": 22391,
                      "end": 22481,
                      "loc": {
                        "start": {
                          "line": 602,
                          "column": 8
                        },
                        "end": {
                          "line": 602,
                          "column": 98
                        }
                      },
                      "range": [
                        22391,
                        22481
                      ]
                    }
                  ]
                }
              ],
              "trailingComments": null
            },
            "alternate": null,
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": "TODO: is it really proper width/height to multiply?",
                "start": 22558,
                "end": 22611,
                "loc": {
                  "start": {
                    "line": 606,
                    "column": 4
                  },
                  "end": {
                    "line": 606,
                    "column": 57
                  }
                },
                "range": [
                  22558,
                  22611
                ]
              },
              {
                "type": "CommentLine",
                "value": " 1. Are there any margins outside of gl viewport?",
                "start": 22616,
                "end": 22667,
                "loc": {
                  "start": {
                    "line": 607,
                    "column": 4
                  },
                  "end": {
                    "line": 607,
                    "column": 55
                  }
                },
                "range": [
                  22616,
                  22667
                ]
              },
              {
                "type": "CommentLine",
                "value": " 2. Is viewport size always equal to these sizes?",
                "start": 22672,
                "end": 22723,
                "loc": {
                  "start": {
                    "line": 608,
                    "column": 4
                  },
                  "end": {
                    "line": 608,
                    "column": 55
                  }
                },
                "range": [
                  22672,
                  22723
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 22728,
            "end": 22809,
            "loc": {
              "start": {
                "line": 609,
                "column": 4
              },
              "end": {
                "line": 609,
                "column": 85
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 22732,
                "end": 22768,
                "loc": {
                  "start": {
                    "line": 609,
                    "column": 8
                  },
                  "end": {
                    "line": 609,
                    "column": 44
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 22732,
                  "end": 22741,
                  "loc": {
                    "start": {
                      "line": 609,
                      "column": 8
                    },
                    "end": {
                      "line": 609,
                      "column": 17
                    }
                  },
                  "name": "widthHalf",
                  "leadingComments": null
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 22744,
                  "end": 22768,
                  "loc": {
                    "start": {
                      "line": 609,
                      "column": 20
                    },
                    "end": {
                      "line": 609,
                      "column": 44
                    }
                  },
                  "left": {
                    "type": "MemberExpression",
                    "start": 22744,
                    "end": 22764,
                    "loc": {
                      "start": {
                        "line": 609,
                        "column": 20
                      },
                      "end": {
                        "line": 609,
                        "column": 40
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 22744,
                      "end": 22752,
                      "loc": {
                        "start": {
                          "line": 609,
                          "column": 20
                        },
                        "end": {
                          "line": 609,
                          "column": 28
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 22744,
                        "end": 22748,
                        "loc": {
                          "start": {
                            "line": 609,
                            "column": 20
                          },
                          "end": {
                            "line": 609,
                            "column": 24
                          }
                        },
                        "name": "view"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 22749,
                        "end": 22752,
                        "loc": {
                          "start": {
                            "line": 609,
                            "column": 25
                          },
                          "end": {
                            "line": 609,
                            "column": 28
                          }
                        },
                        "name": "dom"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 22753,
                      "end": 22764,
                      "loc": {
                        "start": {
                          "line": 609,
                          "column": 29
                        },
                        "end": {
                          "line": 609,
                          "column": 40
                        }
                      },
                      "name": "clientWidth"
                    },
                    "computed": false
                  },
                  "operator": "/",
                  "right": {
                    "type": "Literal",
                    "start": 22767,
                    "end": 22768,
                    "loc": {
                      "start": {
                        "line": 609,
                        "column": 43
                      },
                      "end": {
                        "line": 609,
                        "column": 44
                      }
                    },
                    "value": 2,
                    "rawValue": 2,
                    "raw": "2"
                  }
                },
                "leadingComments": null
              },
              {
                "type": "VariableDeclarator",
                "start": 22770,
                "end": 22808,
                "loc": {
                  "start": {
                    "line": 609,
                    "column": 46
                  },
                  "end": {
                    "line": 609,
                    "column": 84
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 22770,
                  "end": 22780,
                  "loc": {
                    "start": {
                      "line": 609,
                      "column": 46
                    },
                    "end": {
                      "line": 609,
                      "column": 56
                    }
                  },
                  "name": "heightHalf"
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 22783,
                  "end": 22808,
                  "loc": {
                    "start": {
                      "line": 609,
                      "column": 59
                    },
                    "end": {
                      "line": 609,
                      "column": 84
                    }
                  },
                  "left": {
                    "type": "MemberExpression",
                    "start": 22783,
                    "end": 22804,
                    "loc": {
                      "start": {
                        "line": 609,
                        "column": 59
                      },
                      "end": {
                        "line": 609,
                        "column": 80
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 22783,
                      "end": 22791,
                      "loc": {
                        "start": {
                          "line": 609,
                          "column": 59
                        },
                        "end": {
                          "line": 609,
                          "column": 67
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 22783,
                        "end": 22787,
                        "loc": {
                          "start": {
                            "line": 609,
                            "column": 59
                          },
                          "end": {
                            "line": 609,
                            "column": 63
                          }
                        },
                        "name": "view"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 22788,
                        "end": 22791,
                        "loc": {
                          "start": {
                            "line": 609,
                            "column": 64
                          },
                          "end": {
                            "line": 609,
                            "column": 67
                          }
                        },
                        "name": "dom"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 22792,
                      "end": 22804,
                      "loc": {
                        "start": {
                          "line": 609,
                          "column": 68
                        },
                        "end": {
                          "line": 609,
                          "column": 80
                        }
                      },
                      "name": "clientHeight"
                    },
                    "computed": false
                  },
                  "operator": "/",
                  "right": {
                    "type": "Literal",
                    "start": 22807,
                    "end": 22808,
                    "loc": {
                      "start": {
                        "line": 609,
                        "column": 83
                      },
                      "end": {
                        "line": 609,
                        "column": 84
                      }
                    },
                    "value": 2,
                    "rawValue": 2,
                    "raw": "2"
                  }
                }
              }
            ],
            "kind": "var",
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": "TODO: is it really proper width/height to multiply?",
                "start": 22558,
                "end": 22611,
                "loc": {
                  "start": {
                    "line": 606,
                    "column": 4
                  },
                  "end": {
                    "line": 606,
                    "column": 57
                  }
                },
                "range": [
                  22558,
                  22611
                ]
              },
              {
                "type": "CommentLine",
                "value": " 1. Are there any margins outside of gl viewport?",
                "start": 22616,
                "end": 22667,
                "loc": {
                  "start": {
                    "line": 607,
                    "column": 4
                  },
                  "end": {
                    "line": 607,
                    "column": 55
                  }
                },
                "range": [
                  22616,
                  22667
                ]
              },
              {
                "type": "CommentLine",
                "value": " 2. Is viewport size always equal to these sizes?",
                "start": 22672,
                "end": 22723,
                "loc": {
                  "start": {
                    "line": 608,
                    "column": 4
                  },
                  "end": {
                    "line": 608,
                    "column": 55
                  }
                },
                "range": [
                  22672,
                  22723
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 22814,
            "end": 22857,
            "loc": {
              "start": {
                "line": 610,
                "column": 4
              },
              "end": {
                "line": 610,
                "column": 47
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 22818,
                "end": 22835,
                "loc": {
                  "start": {
                    "line": 610,
                    "column": 8
                  },
                  "end": {
                    "line": 610,
                    "column": 25
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 22818,
                  "end": 22823,
                  "loc": {
                    "start": {
                      "line": 610,
                      "column": 8
                    },
                    "end": {
                      "line": 610,
                      "column": 13
                    }
                  },
                  "name": "multX"
                },
                "init": {
                  "type": "Identifier",
                  "start": 22826,
                  "end": 22835,
                  "loc": {
                    "start": {
                      "line": 610,
                      "column": 16
                    },
                    "end": {
                      "line": 610,
                      "column": 25
                    }
                  },
                  "name": "widthHalf"
                }
              },
              {
                "type": "VariableDeclarator",
                "start": 22837,
                "end": 22856,
                "loc": {
                  "start": {
                    "line": 610,
                    "column": 27
                  },
                  "end": {
                    "line": 610,
                    "column": 46
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 22837,
                  "end": 22842,
                  "loc": {
                    "start": {
                      "line": 610,
                      "column": 27
                    },
                    "end": {
                      "line": 610,
                      "column": 32
                    }
                  },
                  "name": "multY"
                },
                "init": {
                  "type": "UnaryExpression",
                  "start": 22845,
                  "end": 22856,
                  "loc": {
                    "start": {
                      "line": 610,
                      "column": 35
                    },
                    "end": {
                      "line": 610,
                      "column": 46
                    }
                  },
                  "operator": "-",
                  "prefix": true,
                  "argument": {
                    "type": "Identifier",
                    "start": 22846,
                    "end": 22856,
                    "loc": {
                      "start": {
                        "line": 610,
                        "column": 36
                      },
                      "end": {
                        "line": 610,
                        "column": 46
                      }
                    },
                    "name": "heightHalf"
                  }
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 22862,
            "end": 22902,
            "loc": {
              "start": {
                "line": 611,
                "column": 4
              },
              "end": {
                "line": 611,
                "column": 44
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 22866,
                "end": 22882,
                "loc": {
                  "start": {
                    "line": 611,
                    "column": 8
                  },
                  "end": {
                    "line": 611,
                    "column": 24
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 22866,
                  "end": 22870,
                  "loc": {
                    "start": {
                      "line": 611,
                      "column": 8
                    },
                    "end": {
                      "line": 611,
                      "column": 12
                    }
                  },
                  "name": "addX"
                },
                "init": {
                  "type": "Identifier",
                  "start": 22873,
                  "end": 22882,
                  "loc": {
                    "start": {
                      "line": 611,
                      "column": 15
                    },
                    "end": {
                      "line": 611,
                      "column": 24
                    }
                  },
                  "name": "widthHalf"
                }
              },
              {
                "type": "VariableDeclarator",
                "start": 22884,
                "end": 22901,
                "loc": {
                  "start": {
                    "line": 611,
                    "column": 26
                  },
                  "end": {
                    "line": 611,
                    "column": 43
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 22884,
                  "end": 22888,
                  "loc": {
                    "start": {
                      "line": 611,
                      "column": 26
                    },
                    "end": {
                      "line": 611,
                      "column": 30
                    }
                  },
                  "name": "addY"
                },
                "init": {
                  "type": "Identifier",
                  "start": 22891,
                  "end": 22901,
                  "loc": {
                    "start": {
                      "line": 611,
                      "column": 33
                    },
                    "end": {
                      "line": 611,
                      "column": 43
                    }
                  },
                  "name": "heightHalf"
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 22908,
            "end": 22924,
            "loc": {
              "start": {
                "line": 613,
                "column": 4
              },
              "end": {
                "line": 613,
                "column": 20
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 22912,
                "end": 22923,
                "loc": {
                  "start": {
                    "line": 613,
                    "column": 8
                  },
                  "end": {
                    "line": 613,
                    "column": 19
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 22912,
                  "end": 22918,
                  "loc": {
                    "start": {
                      "line": 613,
                      "column": 8
                    },
                    "end": {
                      "line": 613,
                      "column": 14
                    }
                  },
                  "name": "result"
                },
                "init": {
                  "type": "ObjectExpression",
                  "start": 22921,
                  "end": 22923,
                  "loc": {
                    "start": {
                      "line": 613,
                      "column": 17
                    },
                    "end": {
                      "line": 613,
                      "column": 19
                    }
                  },
                  "properties": []
                }
              }
            ],
            "kind": "var",
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": " calculate screen position",
                "start": 22929,
                "end": 22957,
                "loc": {
                  "start": {
                    "line": 614,
                    "column": 4
                  },
                  "end": {
                    "line": 614,
                    "column": 32
                  }
                },
                "range": [
                  22929,
                  22957
                ]
              }
            ]
          },
          {
            "type": "ExpressionStatement",
            "start": 22962,
            "end": 23000,
            "loc": {
              "start": {
                "line": 615,
                "column": 4
              },
              "end": {
                "line": 615,
                "column": 42
              }
            },
            "expression": {
              "type": "AssignmentExpression",
              "start": 22962,
              "end": 22999,
              "loc": {
                "start": {
                  "line": 615,
                  "column": 4
                },
                "end": {
                  "line": 615,
                  "column": 41
                }
              },
              "operator": "=",
              "left": {
                "type": "MemberExpression",
                "start": 22962,
                "end": 22977,
                "loc": {
                  "start": {
                    "line": 615,
                    "column": 4
                  },
                  "end": {
                    "line": 615,
                    "column": 19
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 22962,
                  "end": 22968,
                  "loc": {
                    "start": {
                      "line": 615,
                      "column": 4
                    },
                    "end": {
                      "line": 615,
                      "column": 10
                    }
                  },
                  "name": "result",
                  "leadingComments": null
                },
                "property": {
                  "type": "Identifier",
                  "start": 22969,
                  "end": 22977,
                  "loc": {
                    "start": {
                      "line": 615,
                      "column": 11
                    },
                    "end": {
                      "line": 615,
                      "column": 19
                    }
                  },
                  "name": "position"
                },
                "computed": false,
                "leadingComments": null
              },
              "right": {
                "type": "NewExpression",
                "start": 22980,
                "end": 22999,
                "loc": {
                  "start": {
                    "line": 615,
                    "column": 22
                  },
                  "end": {
                    "line": 615,
                    "column": 41
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 22984,
                  "end": 22997,
                  "loc": {
                    "start": {
                      "line": 615,
                      "column": 26
                    },
                    "end": {
                      "line": 615,
                      "column": 39
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 22984,
                    "end": 22989,
                    "loc": {
                      "start": {
                        "line": 615,
                        "column": 26
                      },
                      "end": {
                        "line": 615,
                        "column": 31
                      }
                    },
                    "name": "THREE"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 22990,
                    "end": 22997,
                    "loc": {
                      "start": {
                        "line": 615,
                        "column": 32
                      },
                      "end": {
                        "line": 615,
                        "column": 39
                      }
                    },
                    "name": "Vector2"
                  },
                  "computed": false
                },
                "arguments": []
              },
              "leadingComments": null
            },
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " calculate screen position",
                "start": 22929,
                "end": 22957,
                "loc": {
                  "start": {
                    "line": 614,
                    "column": 4
                  },
                  "end": {
                    "line": 614,
                    "column": 32
                  }
                },
                "range": [
                  22929,
                  22957
                ]
              }
            ]
          },
          {
            "type": "ExpressionStatement",
            "start": 23005,
            "end": 23054,
            "loc": {
              "start": {
                "line": 616,
                "column": 4
              },
              "end": {
                "line": 616,
                "column": 53
              }
            },
            "expression": {
              "type": "AssignmentExpression",
              "start": 23005,
              "end": 23053,
              "loc": {
                "start": {
                  "line": 616,
                  "column": 4
                },
                "end": {
                  "line": 616,
                  "column": 52
                }
              },
              "operator": "=",
              "left": {
                "type": "MemberExpression",
                "start": 23005,
                "end": 23022,
                "loc": {
                  "start": {
                    "line": 616,
                    "column": 4
                  },
                  "end": {
                    "line": 616,
                    "column": 21
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 23005,
                  "end": 23020,
                  "loc": {
                    "start": {
                      "line": 616,
                      "column": 4
                    },
                    "end": {
                      "line": 616,
                      "column": 19
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 23005,
                    "end": 23011,
                    "loc": {
                      "start": {
                        "line": 616,
                        "column": 4
                      },
                      "end": {
                        "line": 616,
                        "column": 10
                      }
                    },
                    "name": "result"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 23012,
                    "end": 23020,
                    "loc": {
                      "start": {
                        "line": 616,
                        "column": 11
                      },
                      "end": {
                        "line": 616,
                        "column": 19
                      }
                    },
                    "name": "position"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 23021,
                  "end": 23022,
                  "loc": {
                    "start": {
                      "line": 616,
                      "column": 20
                    },
                    "end": {
                      "line": 616,
                      "column": 21
                    }
                  },
                  "name": "x"
                },
                "computed": false
              },
              "right": {
                "type": "BinaryExpression",
                "start": 23025,
                "end": 23053,
                "loc": {
                  "start": {
                    "line": 616,
                    "column": 24
                  },
                  "end": {
                    "line": 616,
                    "column": 52
                  }
                },
                "left": {
                  "type": "BinaryExpression",
                  "start": 23025,
                  "end": 23046,
                  "loc": {
                    "start": {
                      "line": 616,
                      "column": 24
                    },
                    "end": {
                      "line": 616,
                      "column": 45
                    }
                  },
                  "left": {
                    "type": "MemberExpression",
                    "start": 23025,
                    "end": 23038,
                    "loc": {
                      "start": {
                        "line": 616,
                        "column": 24
                      },
                      "end": {
                        "line": 616,
                        "column": 37
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 23025,
                      "end": 23036,
                      "loc": {
                        "start": {
                          "line": 616,
                          "column": 24
                        },
                        "end": {
                          "line": 616,
                          "column": 35
                        }
                      },
                      "name": "ndcPosition"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 23037,
                      "end": 23038,
                      "loc": {
                        "start": {
                          "line": 616,
                          "column": 36
                        },
                        "end": {
                          "line": 616,
                          "column": 37
                        }
                      },
                      "name": "x"
                    },
                    "computed": false
                  },
                  "operator": "*",
                  "right": {
                    "type": "Identifier",
                    "start": 23041,
                    "end": 23046,
                    "loc": {
                      "start": {
                        "line": 616,
                        "column": 40
                      },
                      "end": {
                        "line": 616,
                        "column": 45
                      }
                    },
                    "name": "multX"
                  }
                },
                "operator": "+",
                "right": {
                  "type": "Identifier",
                  "start": 23049,
                  "end": 23053,
                  "loc": {
                    "start": {
                      "line": 616,
                      "column": 48
                    },
                    "end": {
                      "line": 616,
                      "column": 52
                    }
                  },
                  "name": "addX"
                }
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 23059,
            "end": 23108,
            "loc": {
              "start": {
                "line": 617,
                "column": 4
              },
              "end": {
                "line": 617,
                "column": 53
              }
            },
            "expression": {
              "type": "AssignmentExpression",
              "start": 23059,
              "end": 23107,
              "loc": {
                "start": {
                  "line": 617,
                  "column": 4
                },
                "end": {
                  "line": 617,
                  "column": 52
                }
              },
              "operator": "=",
              "left": {
                "type": "MemberExpression",
                "start": 23059,
                "end": 23076,
                "loc": {
                  "start": {
                    "line": 617,
                    "column": 4
                  },
                  "end": {
                    "line": 617,
                    "column": 21
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 23059,
                  "end": 23074,
                  "loc": {
                    "start": {
                      "line": 617,
                      "column": 4
                    },
                    "end": {
                      "line": 617,
                      "column": 19
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 23059,
                    "end": 23065,
                    "loc": {
                      "start": {
                        "line": 617,
                        "column": 4
                      },
                      "end": {
                        "line": 617,
                        "column": 10
                      }
                    },
                    "name": "result"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 23066,
                    "end": 23074,
                    "loc": {
                      "start": {
                        "line": 617,
                        "column": 11
                      },
                      "end": {
                        "line": 617,
                        "column": 19
                      }
                    },
                    "name": "position"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 23075,
                  "end": 23076,
                  "loc": {
                    "start": {
                      "line": 617,
                      "column": 20
                    },
                    "end": {
                      "line": 617,
                      "column": 21
                    }
                  },
                  "name": "y"
                },
                "computed": false
              },
              "right": {
                "type": "BinaryExpression",
                "start": 23079,
                "end": 23107,
                "loc": {
                  "start": {
                    "line": 617,
                    "column": 24
                  },
                  "end": {
                    "line": 617,
                    "column": 52
                  }
                },
                "left": {
                  "type": "BinaryExpression",
                  "start": 23079,
                  "end": 23100,
                  "loc": {
                    "start": {
                      "line": 617,
                      "column": 24
                    },
                    "end": {
                      "line": 617,
                      "column": 45
                    }
                  },
                  "left": {
                    "type": "MemberExpression",
                    "start": 23079,
                    "end": 23092,
                    "loc": {
                      "start": {
                        "line": 617,
                        "column": 24
                      },
                      "end": {
                        "line": 617,
                        "column": 37
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 23079,
                      "end": 23090,
                      "loc": {
                        "start": {
                          "line": 617,
                          "column": 24
                        },
                        "end": {
                          "line": 617,
                          "column": 35
                        }
                      },
                      "name": "ndcPosition"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 23091,
                      "end": 23092,
                      "loc": {
                        "start": {
                          "line": 617,
                          "column": 36
                        },
                        "end": {
                          "line": 617,
                          "column": 37
                        }
                      },
                      "name": "y"
                    },
                    "computed": false
                  },
                  "operator": "*",
                  "right": {
                    "type": "Identifier",
                    "start": 23095,
                    "end": 23100,
                    "loc": {
                      "start": {
                        "line": 617,
                        "column": 40
                      },
                      "end": {
                        "line": 617,
                        "column": 45
                      }
                    },
                    "name": "multY"
                  }
                },
                "operator": "+",
                "right": {
                  "type": "Identifier",
                  "start": 23103,
                  "end": 23107,
                  "loc": {
                    "start": {
                      "line": 617,
                      "column": 48
                    },
                    "end": {
                      "line": 617,
                      "column": 52
                    }
                  },
                  "name": "addY"
                }
              }
            },
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": " calculate screen derivatives",
                "start": 23113,
                "end": 23144,
                "loc": {
                  "start": {
                    "line": 618,
                    "column": 4
                  },
                  "end": {
                    "line": 618,
                    "column": 35
                  }
                },
                "range": [
                  23113,
                  23144
                ]
              }
            ]
          },
          {
            "type": "IfStatement",
            "start": 23149,
            "end": 23477,
            "loc": {
              "start": {
                "line": 619,
                "column": 4
              },
              "end": {
                "line": 625,
                "column": 5
              }
            },
            "test": {
              "type": "Identifier",
              "start": 23153,
              "end": 23163,
              "loc": {
                "start": {
                  "line": 619,
                  "column": 8
                },
                "end": {
                  "line": 619,
                  "column": 18
                }
              },
              "name": "withDerivs",
              "leadingComments": null
            },
            "consequent": {
              "type": "BlockStatement",
              "start": 23165,
              "end": 23477,
              "loc": {
                "start": {
                  "line": 619,
                  "column": 20
                },
                "end": {
                  "line": 625,
                  "column": 5
                }
              },
              "body": [
                {
                  "type": "VariableDeclaration",
                  "start": 23175,
                  "end": 23215,
                  "loc": {
                    "start": {
                      "line": 620,
                      "column": 8
                    },
                    "end": {
                      "line": 620,
                      "column": 48
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 23179,
                      "end": 23214,
                      "loc": {
                        "start": {
                          "line": 620,
                          "column": 12
                        },
                        "end": {
                          "line": 620,
                          "column": 47
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 23179,
                        "end": 23188,
                        "loc": {
                          "start": {
                            "line": 620,
                            "column": 12
                          },
                          "end": {
                            "line": 620,
                            "column": 21
                          }
                        },
                        "name": "resDerivs"
                      },
                      "init": {
                        "type": "AssignmentExpression",
                        "start": 23191,
                        "end": 23214,
                        "loc": {
                          "start": {
                            "line": 620,
                            "column": 24
                          },
                          "end": {
                            "line": 620,
                            "column": 47
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 23191,
                          "end": 23209,
                          "loc": {
                            "start": {
                              "line": 620,
                              "column": 24
                            },
                            "end": {
                              "line": 620,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 23191,
                            "end": 23197,
                            "loc": {
                              "start": {
                                "line": 620,
                                "column": 24
                              },
                              "end": {
                                "line": 620,
                                "column": 30
                              }
                            },
                            "name": "result"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 23198,
                            "end": 23209,
                            "loc": {
                              "start": {
                                "line": 620,
                                "column": 31
                              },
                              "end": {
                                "line": 620,
                                "column": 42
                              }
                            },
                            "name": "derivatives"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 23212,
                          "end": 23214,
                          "loc": {
                            "start": {
                              "line": 620,
                              "column": 45
                            },
                            "end": {
                              "line": 620,
                              "column": 47
                            }
                          },
                          "elements": []
                        }
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "VariableDeclaration",
                  "start": 23224,
                  "end": 23252,
                  "loc": {
                    "start": {
                      "line": 621,
                      "column": 8
                    },
                    "end": {
                      "line": 621,
                      "column": 36
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 23228,
                      "end": 23251,
                      "loc": {
                        "start": {
                          "line": 621,
                          "column": 12
                        },
                        "end": {
                          "line": 621,
                          "column": 35
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 23228,
                        "end": 23230,
                        "loc": {
                          "start": {
                            "line": 621,
                            "column": 12
                          },
                          "end": {
                            "line": 621,
                            "column": 14
                          }
                        },
                        "name": "me"
                      },
                      "init": {
                        "type": "MemberExpression",
                        "start": 23233,
                        "end": 23251,
                        "loc": {
                          "start": {
                            "line": 621,
                            "column": 17
                          },
                          "end": {
                            "line": 621,
                            "column": 35
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 23233,
                          "end": 23242,
                          "loc": {
                            "start": {
                              "line": 621,
                              "column": 17
                            },
                            "end": {
                              "line": 621,
                              "column": 26
                            }
                          },
                          "name": "ndcDerivs"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 23243,
                          "end": 23251,
                          "loc": {
                            "start": {
                              "line": 621,
                              "column": 27
                            },
                            "end": {
                              "line": 621,
                              "column": 35
                            }
                          },
                          "name": "elements"
                        },
                        "computed": false
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "ExpressionStatement",
                  "start": 23261,
                  "end": 23325,
                  "loc": {
                    "start": {
                      "line": 622,
                      "column": 8
                    },
                    "end": {
                      "line": 622,
                      "column": 72
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 23261,
                    "end": 23324,
                    "loc": {
                      "start": {
                        "line": 622,
                        "column": 8
                      },
                      "end": {
                        "line": 622,
                        "column": 71
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 23261,
                      "end": 23275,
                      "loc": {
                        "start": {
                          "line": 622,
                          "column": 8
                        },
                        "end": {
                          "line": 622,
                          "column": 22
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 23261,
                        "end": 23270,
                        "loc": {
                          "start": {
                            "line": 622,
                            "column": 8
                          },
                          "end": {
                            "line": 622,
                            "column": 17
                          }
                        },
                        "name": "resDerivs"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 23271,
                        "end": 23275,
                        "loc": {
                          "start": {
                            "line": 622,
                            "column": 18
                          },
                          "end": {
                            "line": 622,
                            "column": 22
                          }
                        },
                        "name": "push"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "NewExpression",
                        "start": 23276,
                        "end": 23323,
                        "loc": {
                          "start": {
                            "line": 622,
                            "column": 23
                          },
                          "end": {
                            "line": 622,
                            "column": 70
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 23280,
                          "end": 23293,
                          "loc": {
                            "start": {
                              "line": 622,
                              "column": 27
                            },
                            "end": {
                              "line": 622,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 23280,
                            "end": 23285,
                            "loc": {
                              "start": {
                                "line": 622,
                                "column": 27
                              },
                              "end": {
                                "line": 622,
                                "column": 32
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 23286,
                            "end": 23293,
                            "loc": {
                              "start": {
                                "line": 622,
                                "column": 33
                              },
                              "end": {
                                "line": 622,
                                "column": 40
                              }
                            },
                            "name": "Vector2"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 23294,
                            "end": 23307,
                            "loc": {
                              "start": {
                                "line": 622,
                                "column": 41
                              },
                              "end": {
                                "line": 622,
                                "column": 54
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 23294,
                              "end": 23299,
                              "loc": {
                                "start": {
                                  "line": 622,
                                  "column": 41
                                },
                                "end": {
                                  "line": 622,
                                  "column": 46
                                }
                              },
                              "name": "multX"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 23302,
                              "end": 23307,
                              "loc": {
                                "start": {
                                  "line": 622,
                                  "column": 49
                                },
                                "end": {
                                  "line": 622,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 23302,
                                "end": 23304,
                                "loc": {
                                  "start": {
                                    "line": 622,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 622,
                                    "column": 51
                                  }
                                },
                                "name": "me"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 23305,
                                "end": 23306,
                                "loc": {
                                  "start": {
                                    "line": 622,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 622,
                                    "column": 53
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "computed": true
                            }
                          },
                          {
                            "type": "BinaryExpression",
                            "start": 23309,
                            "end": 23322,
                            "loc": {
                              "start": {
                                "line": 622,
                                "column": 56
                              },
                              "end": {
                                "line": 622,
                                "column": 69
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 23309,
                              "end": 23314,
                              "loc": {
                                "start": {
                                  "line": 622,
                                  "column": 56
                                },
                                "end": {
                                  "line": 622,
                                  "column": 61
                                }
                              },
                              "name": "multY"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 23317,
                              "end": 23322,
                              "loc": {
                                "start": {
                                  "line": 622,
                                  "column": 64
                                },
                                "end": {
                                  "line": 622,
                                  "column": 69
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 23317,
                                "end": 23319,
                                "loc": {
                                  "start": {
                                    "line": 622,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 622,
                                    "column": 66
                                  }
                                },
                                "name": "me"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 23320,
                                "end": 23321,
                                "loc": {
                                  "start": {
                                    "line": 622,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 622,
                                    "column": 68
                                  }
                                },
                                "value": 1,
                                "rawValue": 1,
                                "raw": "1"
                              },
                              "computed": true
                            }
                          }
                        ]
                      }
                    ]
                  }
                },
                {
                  "type": "ExpressionStatement",
                  "start": 23334,
                  "end": 23398,
                  "loc": {
                    "start": {
                      "line": 623,
                      "column": 8
                    },
                    "end": {
                      "line": 623,
                      "column": 72
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 23334,
                    "end": 23397,
                    "loc": {
                      "start": {
                        "line": 623,
                        "column": 8
                      },
                      "end": {
                        "line": 623,
                        "column": 71
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 23334,
                      "end": 23348,
                      "loc": {
                        "start": {
                          "line": 623,
                          "column": 8
                        },
                        "end": {
                          "line": 623,
                          "column": 22
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 23334,
                        "end": 23343,
                        "loc": {
                          "start": {
                            "line": 623,
                            "column": 8
                          },
                          "end": {
                            "line": 623,
                            "column": 17
                          }
                        },
                        "name": "resDerivs"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 23344,
                        "end": 23348,
                        "loc": {
                          "start": {
                            "line": 623,
                            "column": 18
                          },
                          "end": {
                            "line": 623,
                            "column": 22
                          }
                        },
                        "name": "push"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "NewExpression",
                        "start": 23349,
                        "end": 23396,
                        "loc": {
                          "start": {
                            "line": 623,
                            "column": 23
                          },
                          "end": {
                            "line": 623,
                            "column": 70
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 23353,
                          "end": 23366,
                          "loc": {
                            "start": {
                              "line": 623,
                              "column": 27
                            },
                            "end": {
                              "line": 623,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 23353,
                            "end": 23358,
                            "loc": {
                              "start": {
                                "line": 623,
                                "column": 27
                              },
                              "end": {
                                "line": 623,
                                "column": 32
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 23359,
                            "end": 23366,
                            "loc": {
                              "start": {
                                "line": 623,
                                "column": 33
                              },
                              "end": {
                                "line": 623,
                                "column": 40
                              }
                            },
                            "name": "Vector2"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 23367,
                            "end": 23380,
                            "loc": {
                              "start": {
                                "line": 623,
                                "column": 41
                              },
                              "end": {
                                "line": 623,
                                "column": 54
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 23367,
                              "end": 23372,
                              "loc": {
                                "start": {
                                  "line": 623,
                                  "column": 41
                                },
                                "end": {
                                  "line": 623,
                                  "column": 46
                                }
                              },
                              "name": "multX"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 23375,
                              "end": 23380,
                              "loc": {
                                "start": {
                                  "line": 623,
                                  "column": 49
                                },
                                "end": {
                                  "line": 623,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 23375,
                                "end": 23377,
                                "loc": {
                                  "start": {
                                    "line": 623,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 623,
                                    "column": 51
                                  }
                                },
                                "name": "me"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 23378,
                                "end": 23379,
                                "loc": {
                                  "start": {
                                    "line": 623,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 623,
                                    "column": 53
                                  }
                                },
                                "value": 4,
                                "rawValue": 4,
                                "raw": "4"
                              },
                              "computed": true
                            }
                          },
                          {
                            "type": "BinaryExpression",
                            "start": 23382,
                            "end": 23395,
                            "loc": {
                              "start": {
                                "line": 623,
                                "column": 56
                              },
                              "end": {
                                "line": 623,
                                "column": 69
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 23382,
                              "end": 23387,
                              "loc": {
                                "start": {
                                  "line": 623,
                                  "column": 56
                                },
                                "end": {
                                  "line": 623,
                                  "column": 61
                                }
                              },
                              "name": "multY"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 23390,
                              "end": 23395,
                              "loc": {
                                "start": {
                                  "line": 623,
                                  "column": 64
                                },
                                "end": {
                                  "line": 623,
                                  "column": 69
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 23390,
                                "end": 23392,
                                "loc": {
                                  "start": {
                                    "line": 623,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 623,
                                    "column": 66
                                  }
                                },
                                "name": "me"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 23393,
                                "end": 23394,
                                "loc": {
                                  "start": {
                                    "line": 623,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 623,
                                    "column": 68
                                  }
                                },
                                "value": 5,
                                "rawValue": 5,
                                "raw": "5"
                              },
                              "computed": true
                            }
                          }
                        ]
                      }
                    ]
                  }
                },
                {
                  "type": "ExpressionStatement",
                  "start": 23407,
                  "end": 23471,
                  "loc": {
                    "start": {
                      "line": 624,
                      "column": 8
                    },
                    "end": {
                      "line": 624,
                      "column": 72
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 23407,
                    "end": 23470,
                    "loc": {
                      "start": {
                        "line": 624,
                        "column": 8
                      },
                      "end": {
                        "line": 624,
                        "column": 71
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 23407,
                      "end": 23421,
                      "loc": {
                        "start": {
                          "line": 624,
                          "column": 8
                        },
                        "end": {
                          "line": 624,
                          "column": 22
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 23407,
                        "end": 23416,
                        "loc": {
                          "start": {
                            "line": 624,
                            "column": 8
                          },
                          "end": {
                            "line": 624,
                            "column": 17
                          }
                        },
                        "name": "resDerivs"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 23417,
                        "end": 23421,
                        "loc": {
                          "start": {
                            "line": 624,
                            "column": 18
                          },
                          "end": {
                            "line": 624,
                            "column": 22
                          }
                        },
                        "name": "push"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "NewExpression",
                        "start": 23422,
                        "end": 23469,
                        "loc": {
                          "start": {
                            "line": 624,
                            "column": 23
                          },
                          "end": {
                            "line": 624,
                            "column": 70
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 23426,
                          "end": 23439,
                          "loc": {
                            "start": {
                              "line": 624,
                              "column": 27
                            },
                            "end": {
                              "line": 624,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 23426,
                            "end": 23431,
                            "loc": {
                              "start": {
                                "line": 624,
                                "column": 27
                              },
                              "end": {
                                "line": 624,
                                "column": 32
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 23432,
                            "end": 23439,
                            "loc": {
                              "start": {
                                "line": 624,
                                "column": 33
                              },
                              "end": {
                                "line": 624,
                                "column": 40
                              }
                            },
                            "name": "Vector2"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 23440,
                            "end": 23453,
                            "loc": {
                              "start": {
                                "line": 624,
                                "column": 41
                              },
                              "end": {
                                "line": 624,
                                "column": 54
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 23440,
                              "end": 23445,
                              "loc": {
                                "start": {
                                  "line": 624,
                                  "column": 41
                                },
                                "end": {
                                  "line": 624,
                                  "column": 46
                                }
                              },
                              "name": "multX"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 23448,
                              "end": 23453,
                              "loc": {
                                "start": {
                                  "line": 624,
                                  "column": 49
                                },
                                "end": {
                                  "line": 624,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 23448,
                                "end": 23450,
                                "loc": {
                                  "start": {
                                    "line": 624,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 624,
                                    "column": 51
                                  }
                                },
                                "name": "me"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 23451,
                                "end": 23452,
                                "loc": {
                                  "start": {
                                    "line": 624,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 624,
                                    "column": 53
                                  }
                                },
                                "value": 8,
                                "rawValue": 8,
                                "raw": "8"
                              },
                              "computed": true
                            }
                          },
                          {
                            "type": "BinaryExpression",
                            "start": 23455,
                            "end": 23468,
                            "loc": {
                              "start": {
                                "line": 624,
                                "column": 56
                              },
                              "end": {
                                "line": 624,
                                "column": 69
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 23455,
                              "end": 23460,
                              "loc": {
                                "start": {
                                  "line": 624,
                                  "column": 56
                                },
                                "end": {
                                  "line": 624,
                                  "column": 61
                                }
                              },
                              "name": "multY"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 23463,
                              "end": 23468,
                              "loc": {
                                "start": {
                                  "line": 624,
                                  "column": 64
                                },
                                "end": {
                                  "line": 624,
                                  "column": 69
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 23463,
                                "end": 23465,
                                "loc": {
                                  "start": {
                                    "line": 624,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 624,
                                    "column": 66
                                  }
                                },
                                "name": "me"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 23466,
                                "end": 23467,
                                "loc": {
                                  "start": {
                                    "line": 624,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 624,
                                    "column": 68
                                  }
                                },
                                "value": 9,
                                "rawValue": 9,
                                "raw": "9"
                              },
                              "computed": true
                            }
                          }
                        ]
                      }
                    ]
                  }
                }
              ]
            },
            "alternate": null,
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " calculate screen derivatives",
                "start": 23113,
                "end": 23144,
                "loc": {
                  "start": {
                    "line": 618,
                    "column": 4
                  },
                  "end": {
                    "line": 618,
                    "column": 35
                  }
                },
                "range": [
                  23113,
                  23144
                ]
              }
            ]
          },
          {
            "type": "ReturnStatement",
            "start": 23483,
            "end": 23497,
            "loc": {
              "start": {
                "line": 627,
                "column": 4
              },
              "end": {
                "line": 627,
                "column": 18
              }
            },
            "argument": {
              "type": "Identifier",
              "start": 23490,
              "end": 23496,
              "loc": {
                "start": {
                  "line": 627,
                  "column": 11
                },
                "end": {
                  "line": 627,
                  "column": 17
                }
              },
              "name": "result"
            }
          }
        ],
        "trailingComments": null
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "\n * Transforms world coordinates into screen coordinates (possibly with derivatives).\n * Screen coordinates are relative to view region, given in pixels. (todo: more precisely?)\n * If 'localToWorld' parameter is an Object3D, then input coordinates are considered in its local space.\n * If 'withDerivs' parameter is set, then derivatives are calculated and returned.\n * @return object/dict with following members:\n *   position: Vector2 containing x and y coordinates of the 'position' point\n *   derivatives: list of three THREE.Vector2 components, showing\n *                how each input coordinate (x, y, z) influences output position on screen\n ",
          "start": 20244,
          "end": 20897,
          "loc": {
            "start": {
              "line": 560,
              "column": 0
            },
            "end": {
              "line": 569,
              "column": 3
            }
          },
          "range": [
            20244,
            20897
          ]
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Calculates coefficient, which allows to translate world size to screen size.\n * @param screenCoordsResult - result of method 'transformWorldToScreen' with derivatives\n * @return number alpha such that:\n *   a sphere of radius R in 3D world space corresponds to\n *   an ellipse with major radius (alpha * R) pixels on screen.\n ",
          "start": 23501,
          "end": 23836,
          "loc": {
            "start": {
              "line": 630,
              "column": 0
            },
            "end": {
              "line": 636,
              "column": 3
            }
          },
          "range": [
            23501,
            23836
          ]
        }
      ]
    },
    {
      "type": "FunctionDeclaration",
      "start": 23837,
      "end": 24661,
      "loc": {
        "start": {
          "line": 637,
          "column": 0
        },
        "end": {
          "line": 653,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 23846,
        "end": 23884,
        "loc": {
          "start": {
            "line": 637,
            "column": 9
          },
          "end": {
            "line": 637,
            "column": 47
          }
        },
        "name": "calculateWorldToScreenRadiusMultiplier",
        "leadingComments": null
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 23885,
          "end": 23903,
          "loc": {
            "start": {
              "line": 637,
              "column": 48
            },
            "end": {
              "line": 637,
              "column": 66
            }
          },
          "name": "screenCoordsResult"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 23905,
        "end": 24661,
        "loc": {
          "start": {
            "line": 637,
            "column": 68
          },
          "end": {
            "line": 653,
            "column": 1
          }
        },
        "body": [
          {
            "type": "VariableDeclaration",
            "start": 24012,
            "end": 24056,
            "loc": {
              "start": {
                "line": 639,
                "column": 4
              },
              "end": {
                "line": 639,
                "column": 48
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24016,
                "end": 24055,
                "loc": {
                  "start": {
                    "line": 639,
                    "column": 8
                  },
                  "end": {
                    "line": 639,
                    "column": 47
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24016,
                  "end": 24022,
                  "loc": {
                    "start": {
                      "line": 639,
                      "column": 8
                    },
                    "end": {
                      "line": 639,
                      "column": 14
                    }
                  },
                  "name": "derivs",
                  "leadingComments": null
                },
                "init": {
                  "type": "MemberExpression",
                  "start": 24025,
                  "end": 24055,
                  "loc": {
                    "start": {
                      "line": 639,
                      "column": 17
                    },
                    "end": {
                      "line": 639,
                      "column": 47
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 24025,
                    "end": 24043,
                    "loc": {
                      "start": {
                        "line": 639,
                        "column": 17
                      },
                      "end": {
                        "line": 639,
                        "column": 35
                      }
                    },
                    "name": "screenCoordsResult"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 24044,
                    "end": 24055,
                    "loc": {
                      "start": {
                        "line": 639,
                        "column": 36
                      },
                      "end": {
                        "line": 639,
                        "column": 47
                      }
                    },
                    "name": "derivatives"
                  },
                  "computed": false
                },
                "leadingComments": null
              }
            ],
            "kind": "var",
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " Note the sought-for coeff is the norm (i.e. maximal singular value) of the derivatives matrix",
                "start": 23911,
                "end": 24007,
                "loc": {
                  "start": {
                    "line": 638,
                    "column": 4
                  },
                  "end": {
                    "line": 638,
                    "column": 100
                  }
                },
                "range": [
                  23911,
                  24007
                ]
              }
            ],
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": " calculate elements of Gram matrix (i.e. A A^t)",
                "start": 24061,
                "end": 24110,
                "loc": {
                  "start": {
                    "line": 640,
                    "column": 4
                  },
                  "end": {
                    "line": 640,
                    "column": 53
                  }
                },
                "range": [
                  24061,
                  24110
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 24115,
            "end": 24189,
            "loc": {
              "start": {
                "line": 641,
                "column": 4
              },
              "end": {
                "line": 641,
                "column": 78
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24119,
                "end": 24188,
                "loc": {
                  "start": {
                    "line": 641,
                    "column": 8
                  },
                  "end": {
                    "line": 641,
                    "column": 77
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24119,
                  "end": 24123,
                  "loc": {
                    "start": {
                      "line": 641,
                      "column": 8
                    },
                    "end": {
                      "line": 641,
                      "column": 12
                    }
                  },
                  "name": "rowX",
                  "leadingComments": null
                },
                "init": {
                  "type": "CallExpression",
                  "start": 24126,
                  "end": 24188,
                  "loc": {
                    "start": {
                      "line": 641,
                      "column": 15
                    },
                    "end": {
                      "line": 641,
                      "column": 77
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 24126,
                    "end": 24149,
                    "loc": {
                      "start": {
                        "line": 641,
                        "column": 15
                      },
                      "end": {
                        "line": 641,
                        "column": 38
                      }
                    },
                    "object": {
                      "type": "NewExpression",
                      "start": 24126,
                      "end": 24145,
                      "loc": {
                        "start": {
                          "line": 641,
                          "column": 15
                        },
                        "end": {
                          "line": 641,
                          "column": 34
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 24130,
                        "end": 24143,
                        "loc": {
                          "start": {
                            "line": 641,
                            "column": 19
                          },
                          "end": {
                            "line": 641,
                            "column": 32
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 24130,
                          "end": 24135,
                          "loc": {
                            "start": {
                              "line": 641,
                              "column": 19
                            },
                            "end": {
                              "line": 641,
                              "column": 24
                            }
                          },
                          "name": "THREE"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 24136,
                          "end": 24143,
                          "loc": {
                            "start": {
                              "line": 641,
                              "column": 25
                            },
                            "end": {
                              "line": 641,
                              "column": 32
                            }
                          },
                          "name": "Vector3"
                        },
                        "computed": false
                      },
                      "arguments": []
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 24146,
                      "end": 24149,
                      "loc": {
                        "start": {
                          "line": 641,
                          "column": 35
                        },
                        "end": {
                          "line": 641,
                          "column": 38
                        }
                      },
                      "name": "set"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "start": 24150,
                      "end": 24161,
                      "loc": {
                        "start": {
                          "line": 641,
                          "column": 39
                        },
                        "end": {
                          "line": 641,
                          "column": 50
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 24150,
                        "end": 24159,
                        "loc": {
                          "start": {
                            "line": 641,
                            "column": 39
                          },
                          "end": {
                            "line": 641,
                            "column": 48
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 24150,
                          "end": 24156,
                          "loc": {
                            "start": {
                              "line": 641,
                              "column": 39
                            },
                            "end": {
                              "line": 641,
                              "column": 45
                            }
                          },
                          "name": "derivs"
                        },
                        "property": {
                          "type": "Literal",
                          "start": 24157,
                          "end": 24158,
                          "loc": {
                            "start": {
                              "line": 641,
                              "column": 46
                            },
                            "end": {
                              "line": 641,
                              "column": 47
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "computed": true
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 24160,
                        "end": 24161,
                        "loc": {
                          "start": {
                            "line": 641,
                            "column": 49
                          },
                          "end": {
                            "line": 641,
                            "column": 50
                          }
                        },
                        "name": "x"
                      },
                      "computed": false
                    },
                    {
                      "type": "MemberExpression",
                      "start": 24163,
                      "end": 24174,
                      "loc": {
                        "start": {
                          "line": 641,
                          "column": 52
                        },
                        "end": {
                          "line": 641,
                          "column": 63
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 24163,
                        "end": 24172,
                        "loc": {
                          "start": {
                            "line": 641,
                            "column": 52
                          },
                          "end": {
                            "line": 641,
                            "column": 61
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 24163,
                          "end": 24169,
                          "loc": {
                            "start": {
                              "line": 641,
                              "column": 52
                            },
                            "end": {
                              "line": 641,
                              "column": 58
                            }
                          },
                          "name": "derivs"
                        },
                        "property": {
                          "type": "Literal",
                          "start": 24170,
                          "end": 24171,
                          "loc": {
                            "start": {
                              "line": 641,
                              "column": 59
                            },
                            "end": {
                              "line": 641,
                              "column": 60
                            }
                          },
                          "value": 1,
                          "rawValue": 1,
                          "raw": "1"
                        },
                        "computed": true
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 24173,
                        "end": 24174,
                        "loc": {
                          "start": {
                            "line": 641,
                            "column": 62
                          },
                          "end": {
                            "line": 641,
                            "column": 63
                          }
                        },
                        "name": "x"
                      },
                      "computed": false
                    },
                    {
                      "type": "MemberExpression",
                      "start": 24176,
                      "end": 24187,
                      "loc": {
                        "start": {
                          "line": 641,
                          "column": 65
                        },
                        "end": {
                          "line": 641,
                          "column": 76
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 24176,
                        "end": 24185,
                        "loc": {
                          "start": {
                            "line": 641,
                            "column": 65
                          },
                          "end": {
                            "line": 641,
                            "column": 74
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 24176,
                          "end": 24182,
                          "loc": {
                            "start": {
                              "line": 641,
                              "column": 65
                            },
                            "end": {
                              "line": 641,
                              "column": 71
                            }
                          },
                          "name": "derivs"
                        },
                        "property": {
                          "type": "Literal",
                          "start": 24183,
                          "end": 24184,
                          "loc": {
                            "start": {
                              "line": 641,
                              "column": 72
                            },
                            "end": {
                              "line": 641,
                              "column": 73
                            }
                          },
                          "value": 2,
                          "rawValue": 2,
                          "raw": "2"
                        },
                        "computed": true
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 24186,
                        "end": 24187,
                        "loc": {
                          "start": {
                            "line": 641,
                            "column": 75
                          },
                          "end": {
                            "line": 641,
                            "column": 76
                          }
                        },
                        "name": "x"
                      },
                      "computed": false
                    }
                  ]
                },
                "leadingComments": null
              }
            ],
            "kind": "var",
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " calculate elements of Gram matrix (i.e. A A^t)",
                "start": 24061,
                "end": 24110,
                "loc": {
                  "start": {
                    "line": 640,
                    "column": 4
                  },
                  "end": {
                    "line": 640,
                    "column": 53
                  }
                },
                "range": [
                  24061,
                  24110
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 24194,
            "end": 24268,
            "loc": {
              "start": {
                "line": 642,
                "column": 4
              },
              "end": {
                "line": 642,
                "column": 78
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24198,
                "end": 24267,
                "loc": {
                  "start": {
                    "line": 642,
                    "column": 8
                  },
                  "end": {
                    "line": 642,
                    "column": 77
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24198,
                  "end": 24202,
                  "loc": {
                    "start": {
                      "line": 642,
                      "column": 8
                    },
                    "end": {
                      "line": 642,
                      "column": 12
                    }
                  },
                  "name": "rowY"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 24205,
                  "end": 24267,
                  "loc": {
                    "start": {
                      "line": 642,
                      "column": 15
                    },
                    "end": {
                      "line": 642,
                      "column": 77
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 24205,
                    "end": 24228,
                    "loc": {
                      "start": {
                        "line": 642,
                        "column": 15
                      },
                      "end": {
                        "line": 642,
                        "column": 38
                      }
                    },
                    "object": {
                      "type": "NewExpression",
                      "start": 24205,
                      "end": 24224,
                      "loc": {
                        "start": {
                          "line": 642,
                          "column": 15
                        },
                        "end": {
                          "line": 642,
                          "column": 34
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 24209,
                        "end": 24222,
                        "loc": {
                          "start": {
                            "line": 642,
                            "column": 19
                          },
                          "end": {
                            "line": 642,
                            "column": 32
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 24209,
                          "end": 24214,
                          "loc": {
                            "start": {
                              "line": 642,
                              "column": 19
                            },
                            "end": {
                              "line": 642,
                              "column": 24
                            }
                          },
                          "name": "THREE"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 24215,
                          "end": 24222,
                          "loc": {
                            "start": {
                              "line": 642,
                              "column": 25
                            },
                            "end": {
                              "line": 642,
                              "column": 32
                            }
                          },
                          "name": "Vector3"
                        },
                        "computed": false
                      },
                      "arguments": []
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 24225,
                      "end": 24228,
                      "loc": {
                        "start": {
                          "line": 642,
                          "column": 35
                        },
                        "end": {
                          "line": 642,
                          "column": 38
                        }
                      },
                      "name": "set"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "start": 24229,
                      "end": 24240,
                      "loc": {
                        "start": {
                          "line": 642,
                          "column": 39
                        },
                        "end": {
                          "line": 642,
                          "column": 50
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 24229,
                        "end": 24238,
                        "loc": {
                          "start": {
                            "line": 642,
                            "column": 39
                          },
                          "end": {
                            "line": 642,
                            "column": 48
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 24229,
                          "end": 24235,
                          "loc": {
                            "start": {
                              "line": 642,
                              "column": 39
                            },
                            "end": {
                              "line": 642,
                              "column": 45
                            }
                          },
                          "name": "derivs"
                        },
                        "property": {
                          "type": "Literal",
                          "start": 24236,
                          "end": 24237,
                          "loc": {
                            "start": {
                              "line": 642,
                              "column": 46
                            },
                            "end": {
                              "line": 642,
                              "column": 47
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "computed": true
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 24239,
                        "end": 24240,
                        "loc": {
                          "start": {
                            "line": 642,
                            "column": 49
                          },
                          "end": {
                            "line": 642,
                            "column": 50
                          }
                        },
                        "name": "y"
                      },
                      "computed": false
                    },
                    {
                      "type": "MemberExpression",
                      "start": 24242,
                      "end": 24253,
                      "loc": {
                        "start": {
                          "line": 642,
                          "column": 52
                        },
                        "end": {
                          "line": 642,
                          "column": 63
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 24242,
                        "end": 24251,
                        "loc": {
                          "start": {
                            "line": 642,
                            "column": 52
                          },
                          "end": {
                            "line": 642,
                            "column": 61
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 24242,
                          "end": 24248,
                          "loc": {
                            "start": {
                              "line": 642,
                              "column": 52
                            },
                            "end": {
                              "line": 642,
                              "column": 58
                            }
                          },
                          "name": "derivs"
                        },
                        "property": {
                          "type": "Literal",
                          "start": 24249,
                          "end": 24250,
                          "loc": {
                            "start": {
                              "line": 642,
                              "column": 59
                            },
                            "end": {
                              "line": 642,
                              "column": 60
                            }
                          },
                          "value": 1,
                          "rawValue": 1,
                          "raw": "1"
                        },
                        "computed": true
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 24252,
                        "end": 24253,
                        "loc": {
                          "start": {
                            "line": 642,
                            "column": 62
                          },
                          "end": {
                            "line": 642,
                            "column": 63
                          }
                        },
                        "name": "y"
                      },
                      "computed": false
                    },
                    {
                      "type": "MemberExpression",
                      "start": 24255,
                      "end": 24266,
                      "loc": {
                        "start": {
                          "line": 642,
                          "column": 65
                        },
                        "end": {
                          "line": 642,
                          "column": 76
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 24255,
                        "end": 24264,
                        "loc": {
                          "start": {
                            "line": 642,
                            "column": 65
                          },
                          "end": {
                            "line": 642,
                            "column": 74
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 24255,
                          "end": 24261,
                          "loc": {
                            "start": {
                              "line": 642,
                              "column": 65
                            },
                            "end": {
                              "line": 642,
                              "column": 71
                            }
                          },
                          "name": "derivs"
                        },
                        "property": {
                          "type": "Literal",
                          "start": 24262,
                          "end": 24263,
                          "loc": {
                            "start": {
                              "line": 642,
                              "column": 72
                            },
                            "end": {
                              "line": 642,
                              "column": 73
                            }
                          },
                          "value": 2,
                          "rawValue": 2,
                          "raw": "2"
                        },
                        "computed": true
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 24265,
                        "end": 24266,
                        "loc": {
                          "start": {
                            "line": 642,
                            "column": 75
                          },
                          "end": {
                            "line": 642,
                            "column": 76
                          }
                        },
                        "name": "y"
                      },
                      "computed": false
                    }
                  ]
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 24273,
            "end": 24298,
            "loc": {
              "start": {
                "line": 643,
                "column": 4
              },
              "end": {
                "line": 643,
                "column": 29
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24277,
                "end": 24297,
                "loc": {
                  "start": {
                    "line": 643,
                    "column": 8
                  },
                  "end": {
                    "line": 643,
                    "column": 28
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24277,
                  "end": 24279,
                  "loc": {
                    "start": {
                      "line": 643,
                      "column": 8
                    },
                    "end": {
                      "line": 643,
                      "column": 10
                    }
                  },
                  "name": "xx"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 24282,
                  "end": 24297,
                  "loc": {
                    "start": {
                      "line": 643,
                      "column": 13
                    },
                    "end": {
                      "line": 643,
                      "column": 28
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 24282,
                    "end": 24295,
                    "loc": {
                      "start": {
                        "line": 643,
                        "column": 13
                      },
                      "end": {
                        "line": 643,
                        "column": 26
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 24282,
                      "end": 24286,
                      "loc": {
                        "start": {
                          "line": 643,
                          "column": 13
                        },
                        "end": {
                          "line": 643,
                          "column": 17
                        }
                      },
                      "name": "rowX"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 24287,
                      "end": 24295,
                      "loc": {
                        "start": {
                          "line": 643,
                          "column": 18
                        },
                        "end": {
                          "line": 643,
                          "column": 26
                        }
                      },
                      "name": "lengthSq"
                    },
                    "computed": false
                  },
                  "arguments": []
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 24303,
            "end": 24328,
            "loc": {
              "start": {
                "line": 644,
                "column": 4
              },
              "end": {
                "line": 644,
                "column": 29
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24307,
                "end": 24327,
                "loc": {
                  "start": {
                    "line": 644,
                    "column": 8
                  },
                  "end": {
                    "line": 644,
                    "column": 28
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24307,
                  "end": 24309,
                  "loc": {
                    "start": {
                      "line": 644,
                      "column": 8
                    },
                    "end": {
                      "line": 644,
                      "column": 10
                    }
                  },
                  "name": "yy"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 24312,
                  "end": 24327,
                  "loc": {
                    "start": {
                      "line": 644,
                      "column": 13
                    },
                    "end": {
                      "line": 644,
                      "column": 28
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 24312,
                    "end": 24325,
                    "loc": {
                      "start": {
                        "line": 644,
                        "column": 13
                      },
                      "end": {
                        "line": 644,
                        "column": 26
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 24312,
                      "end": 24316,
                      "loc": {
                        "start": {
                          "line": 644,
                          "column": 13
                        },
                        "end": {
                          "line": 644,
                          "column": 17
                        }
                      },
                      "name": "rowY"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 24317,
                      "end": 24325,
                      "loc": {
                        "start": {
                          "line": 644,
                          "column": 18
                        },
                        "end": {
                          "line": 644,
                          "column": 26
                        }
                      },
                      "name": "lengthSq"
                    },
                    "computed": false
                  },
                  "arguments": []
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 24333,
            "end": 24357,
            "loc": {
              "start": {
                "line": 645,
                "column": 4
              },
              "end": {
                "line": 645,
                "column": 28
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24337,
                "end": 24356,
                "loc": {
                  "start": {
                    "line": 645,
                    "column": 8
                  },
                  "end": {
                    "line": 645,
                    "column": 27
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24337,
                  "end": 24339,
                  "loc": {
                    "start": {
                      "line": 645,
                      "column": 8
                    },
                    "end": {
                      "line": 645,
                      "column": 10
                    }
                  },
                  "name": "xy"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 24342,
                  "end": 24356,
                  "loc": {
                    "start": {
                      "line": 645,
                      "column": 13
                    },
                    "end": {
                      "line": 645,
                      "column": 27
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 24342,
                    "end": 24350,
                    "loc": {
                      "start": {
                        "line": 645,
                        "column": 13
                      },
                      "end": {
                        "line": 645,
                        "column": 21
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 24342,
                      "end": 24346,
                      "loc": {
                        "start": {
                          "line": 645,
                          "column": 13
                        },
                        "end": {
                          "line": 645,
                          "column": 17
                        }
                      },
                      "name": "rowX"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 24347,
                      "end": 24350,
                      "loc": {
                        "start": {
                          "line": 645,
                          "column": 18
                        },
                        "end": {
                          "line": 645,
                          "column": 21
                        }
                      },
                      "name": "dot"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 24351,
                      "end": 24355,
                      "loc": {
                        "start": {
                          "line": 645,
                          "column": 22
                        },
                        "end": {
                          "line": 645,
                          "column": 26
                        }
                      },
                      "name": "rowY"
                    }
                  ]
                }
              }
            ],
            "kind": "var",
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": "find its maximal eigenvalue by solving quadratic equation",
                "start": 24362,
                "end": 24421,
                "loc": {
                  "start": {
                    "line": 646,
                    "column": 4
                  },
                  "end": {
                    "line": 646,
                    "column": 63
                  }
                },
                "range": [
                  24362,
                  24421
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 24426,
            "end": 24450,
            "loc": {
              "start": {
                "line": 647,
                "column": 4
              },
              "end": {
                "line": 647,
                "column": 28
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24430,
                "end": 24449,
                "loc": {
                  "start": {
                    "line": 647,
                    "column": 8
                  },
                  "end": {
                    "line": 647,
                    "column": 27
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24430,
                  "end": 24433,
                  "loc": {
                    "start": {
                      "line": 647,
                      "column": 8
                    },
                    "end": {
                      "line": 647,
                      "column": 11
                    }
                  },
                  "name": "mid",
                  "leadingComments": null
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 24436,
                  "end": 24449,
                  "loc": {
                    "start": {
                      "line": 647,
                      "column": 14
                    },
                    "end": {
                      "line": 647,
                      "column": 27
                    }
                  },
                  "left": {
                    "type": "BinaryExpression",
                    "start": 24437,
                    "end": 24444,
                    "loc": {
                      "start": {
                        "line": 647,
                        "column": 15
                      },
                      "end": {
                        "line": 647,
                        "column": 22
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 24437,
                      "end": 24439,
                      "loc": {
                        "start": {
                          "line": 647,
                          "column": 15
                        },
                        "end": {
                          "line": 647,
                          "column": 17
                        }
                      },
                      "name": "xx"
                    },
                    "operator": "+",
                    "right": {
                      "type": "Identifier",
                      "start": 24442,
                      "end": 24444,
                      "loc": {
                        "start": {
                          "line": 647,
                          "column": 20
                        },
                        "end": {
                          "line": 647,
                          "column": 22
                        }
                      },
                      "name": "yy"
                    },
                    "parenthesizedExpression": true
                  },
                  "operator": "/",
                  "right": {
                    "type": "Literal",
                    "start": 24448,
                    "end": 24449,
                    "loc": {
                      "start": {
                        "line": 647,
                        "column": 26
                      },
                      "end": {
                        "line": 647,
                        "column": 27
                      }
                    },
                    "value": 2,
                    "rawValue": 2,
                    "raw": "2"
                  }
                },
                "leadingComments": null
              }
            ],
            "kind": "var",
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": "find its maximal eigenvalue by solving quadratic equation",
                "start": 24362,
                "end": 24421,
                "loc": {
                  "start": {
                    "line": 646,
                    "column": 4
                  },
                  "end": {
                    "line": 646,
                    "column": 63
                  }
                },
                "range": [
                  24362,
                  24421
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 24455,
            "end": 24481,
            "loc": {
              "start": {
                "line": 648,
                "column": 4
              },
              "end": {
                "line": 648,
                "column": 30
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24459,
                "end": 24480,
                "loc": {
                  "start": {
                    "line": 648,
                    "column": 8
                  },
                  "end": {
                    "line": 648,
                    "column": 29
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24459,
                  "end": 24464,
                  "loc": {
                    "start": {
                      "line": 648,
                      "column": 8
                    },
                    "end": {
                      "line": 648,
                      "column": 13
                    }
                  },
                  "name": "hDiff"
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 24467,
                  "end": 24480,
                  "loc": {
                    "start": {
                      "line": 648,
                      "column": 16
                    },
                    "end": {
                      "line": 648,
                      "column": 29
                    }
                  },
                  "left": {
                    "type": "BinaryExpression",
                    "start": 24468,
                    "end": 24475,
                    "loc": {
                      "start": {
                        "line": 648,
                        "column": 17
                      },
                      "end": {
                        "line": 648,
                        "column": 24
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 24468,
                      "end": 24470,
                      "loc": {
                        "start": {
                          "line": 648,
                          "column": 17
                        },
                        "end": {
                          "line": 648,
                          "column": 19
                        }
                      },
                      "name": "xx"
                    },
                    "operator": "-",
                    "right": {
                      "type": "Identifier",
                      "start": 24473,
                      "end": 24475,
                      "loc": {
                        "start": {
                          "line": 648,
                          "column": 22
                        },
                        "end": {
                          "line": 648,
                          "column": 24
                        }
                      },
                      "name": "yy"
                    },
                    "parenthesizedExpression": true
                  },
                  "operator": "/",
                  "right": {
                    "type": "Literal",
                    "start": 24479,
                    "end": 24480,
                    "loc": {
                      "start": {
                        "line": 648,
                        "column": 28
                      },
                      "end": {
                        "line": 648,
                        "column": 29
                      }
                    },
                    "value": 2,
                    "rawValue": 2,
                    "raw": "2"
                  }
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 24486,
            "end": 24522,
            "loc": {
              "start": {
                "line": 649,
                "column": 4
              },
              "end": {
                "line": 649,
                "column": 40
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24490,
                "end": 24521,
                "loc": {
                  "start": {
                    "line": 649,
                    "column": 8
                  },
                  "end": {
                    "line": 649,
                    "column": 39
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24490,
                  "end": 24495,
                  "loc": {
                    "start": {
                      "line": 649,
                      "column": 8
                    },
                    "end": {
                      "line": 649,
                      "column": 13
                    }
                  },
                  "name": "discr"
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 24498,
                  "end": 24521,
                  "loc": {
                    "start": {
                      "line": 649,
                      "column": 16
                    },
                    "end": {
                      "line": 649,
                      "column": 39
                    }
                  },
                  "left": {
                    "type": "BinaryExpression",
                    "start": 24498,
                    "end": 24511,
                    "loc": {
                      "start": {
                        "line": 649,
                        "column": 16
                      },
                      "end": {
                        "line": 649,
                        "column": 29
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 24498,
                      "end": 24503,
                      "loc": {
                        "start": {
                          "line": 649,
                          "column": 16
                        },
                        "end": {
                          "line": 649,
                          "column": 21
                        }
                      },
                      "name": "hDiff"
                    },
                    "operator": "*",
                    "right": {
                      "type": "Identifier",
                      "start": 24506,
                      "end": 24511,
                      "loc": {
                        "start": {
                          "line": 649,
                          "column": 24
                        },
                        "end": {
                          "line": 649,
                          "column": 29
                        }
                      },
                      "name": "hDiff"
                    }
                  },
                  "operator": "+",
                  "right": {
                    "type": "BinaryExpression",
                    "start": 24514,
                    "end": 24521,
                    "loc": {
                      "start": {
                        "line": 649,
                        "column": 32
                      },
                      "end": {
                        "line": 649,
                        "column": 39
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 24514,
                      "end": 24516,
                      "loc": {
                        "start": {
                          "line": 649,
                          "column": 32
                        },
                        "end": {
                          "line": 649,
                          "column": 34
                        }
                      },
                      "name": "xy"
                    },
                    "operator": "*",
                    "right": {
                      "type": "Identifier",
                      "start": 24519,
                      "end": 24521,
                      "loc": {
                        "start": {
                          "line": 649,
                          "column": 37
                        },
                        "end": {
                          "line": 649,
                          "column": 39
                        }
                      },
                      "name": "xy"
                    }
                  }
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 24527,
            "end": 24576,
            "loc": {
              "start": {
                "line": 650,
                "column": 4
              },
              "end": {
                "line": 650,
                "column": 53
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24531,
                "end": 24575,
                "loc": {
                  "start": {
                    "line": 650,
                    "column": 8
                  },
                  "end": {
                    "line": 650,
                    "column": 52
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24531,
                  "end": 24535,
                  "loc": {
                    "start": {
                      "line": 650,
                      "column": 8
                    },
                    "end": {
                      "line": 650,
                      "column": 12
                    }
                  },
                  "name": "norm"
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 24538,
                  "end": 24575,
                  "loc": {
                    "start": {
                      "line": 650,
                      "column": 15
                    },
                    "end": {
                      "line": 650,
                      "column": 52
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 24538,
                    "end": 24541,
                    "loc": {
                      "start": {
                        "line": 650,
                        "column": 15
                      },
                      "end": {
                        "line": 650,
                        "column": 18
                      }
                    },
                    "name": "mid"
                  },
                  "operator": "+",
                  "right": {
                    "type": "CallExpression",
                    "start": 24544,
                    "end": 24575,
                    "loc": {
                      "start": {
                        "line": 650,
                        "column": 21
                      },
                      "end": {
                        "line": 650,
                        "column": 52
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 24544,
                      "end": 24553,
                      "loc": {
                        "start": {
                          "line": 650,
                          "column": 21
                        },
                        "end": {
                          "line": 650,
                          "column": 30
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 24544,
                        "end": 24548,
                        "loc": {
                          "start": {
                            "line": 650,
                            "column": 21
                          },
                          "end": {
                            "line": 650,
                            "column": 25
                          }
                        },
                        "name": "Math"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 24549,
                        "end": 24553,
                        "loc": {
                          "start": {
                            "line": 650,
                            "column": 26
                          },
                          "end": {
                            "line": 650,
                            "column": 30
                          }
                        },
                        "name": "sqrt"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "CallExpression",
                        "start": 24554,
                        "end": 24574,
                        "loc": {
                          "start": {
                            "line": 650,
                            "column": 31
                          },
                          "end": {
                            "line": 650,
                            "column": 51
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 24554,
                          "end": 24562,
                          "loc": {
                            "start": {
                              "line": 650,
                              "column": 31
                            },
                            "end": {
                              "line": 650,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 24554,
                            "end": 24558,
                            "loc": {
                              "start": {
                                "line": 650,
                                "column": 31
                              },
                              "end": {
                                "line": 650,
                                "column": 35
                              }
                            },
                            "name": "Math"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 24559,
                            "end": 24562,
                            "loc": {
                              "start": {
                                "line": 650,
                                "column": 36
                              },
                              "end": {
                                "line": 650,
                                "column": 39
                              }
                            },
                            "name": "max"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 24563,
                            "end": 24568,
                            "loc": {
                              "start": {
                                "line": 650,
                                "column": 40
                              },
                              "end": {
                                "line": 650,
                                "column": 45
                              }
                            },
                            "name": "discr"
                          },
                          {
                            "type": "Literal",
                            "start": 24570,
                            "end": 24573,
                            "loc": {
                              "start": {
                                "line": 650,
                                "column": 47
                              },
                              "end": {
                                "line": 650,
                                "column": 50
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0.0"
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            ],
            "kind": "var",
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": "singular value is its square root",
                "start": 24581,
                "end": 24616,
                "loc": {
                  "start": {
                    "line": 651,
                    "column": 4
                  },
                  "end": {
                    "line": 651,
                    "column": 39
                  }
                },
                "range": [
                  24581,
                  24616
                ]
              }
            ]
          },
          {
            "type": "ReturnStatement",
            "start": 24621,
            "end": 24659,
            "loc": {
              "start": {
                "line": 652,
                "column": 4
              },
              "end": {
                "line": 652,
                "column": 42
              }
            },
            "argument": {
              "type": "CallExpression",
              "start": 24628,
              "end": 24658,
              "loc": {
                "start": {
                  "line": 652,
                  "column": 11
                },
                "end": {
                  "line": 652,
                  "column": 41
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 24628,
                "end": 24637,
                "loc": {
                  "start": {
                    "line": 652,
                    "column": 11
                  },
                  "end": {
                    "line": 652,
                    "column": 20
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 24628,
                  "end": 24632,
                  "loc": {
                    "start": {
                      "line": 652,
                      "column": 11
                    },
                    "end": {
                      "line": 652,
                      "column": 15
                    }
                  },
                  "name": "Math",
                  "leadingComments": null
                },
                "property": {
                  "type": "Identifier",
                  "start": 24633,
                  "end": 24637,
                  "loc": {
                    "start": {
                      "line": 652,
                      "column": 16
                    },
                    "end": {
                      "line": 652,
                      "column": 20
                    }
                  },
                  "name": "sqrt"
                },
                "computed": false,
                "leadingComments": null
              },
              "arguments": [
                {
                  "type": "CallExpression",
                  "start": 24638,
                  "end": 24657,
                  "loc": {
                    "start": {
                      "line": 652,
                      "column": 21
                    },
                    "end": {
                      "line": 652,
                      "column": 40
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 24638,
                    "end": 24646,
                    "loc": {
                      "start": {
                        "line": 652,
                        "column": 21
                      },
                      "end": {
                        "line": 652,
                        "column": 29
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 24638,
                      "end": 24642,
                      "loc": {
                        "start": {
                          "line": 652,
                          "column": 21
                        },
                        "end": {
                          "line": 652,
                          "column": 25
                        }
                      },
                      "name": "Math"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 24643,
                      "end": 24646,
                      "loc": {
                        "start": {
                          "line": 652,
                          "column": 26
                        },
                        "end": {
                          "line": 652,
                          "column": 29
                        }
                      },
                      "name": "max"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 24647,
                      "end": 24651,
                      "loc": {
                        "start": {
                          "line": 652,
                          "column": 30
                        },
                        "end": {
                          "line": 652,
                          "column": 34
                        }
                      },
                      "name": "norm"
                    },
                    {
                      "type": "Literal",
                      "start": 24653,
                      "end": 24656,
                      "loc": {
                        "start": {
                          "line": 652,
                          "column": 36
                        },
                        "end": {
                          "line": 652,
                          "column": 39
                        }
                      },
                      "value": 0,
                      "rawValue": 0,
                      "raw": "0.0"
                    }
                  ]
                }
              ],
              "leadingComments": null
            },
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": "singular value is its square root",
                "start": 24581,
                "end": 24616,
                "loc": {
                  "start": {
                    "line": 651,
                    "column": 4
                  },
                  "end": {
                    "line": 651,
                    "column": 39
                  }
                },
                "range": [
                  24581,
                  24616
                ]
              }
            ]
          }
        ]
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Calculates coefficient, which allows to translate world size to screen size.\n * @param screenCoordsResult - result of method 'transformWorldToScreen' with derivatives\n * @return number alpha such that:\n *   a sphere of radius R in 3D world space corresponds to\n *   an ellipse with major radius (alpha * R) pixels on screen.\n ",
          "start": 23501,
          "end": 23836,
          "loc": {
            "start": {
              "line": 630,
              "column": 0
            },
            "end": {
              "line": 636,
              "column": 3
            }
          },
          "range": [
            23501,
            23836
          ]
        }
      ]
    },
    {
      "type": "FunctionDeclaration",
      "start": 24663,
      "end": 25012,
      "loc": {
        "start": {
          "line": 655,
          "column": 0
        },
        "end": {
          "line": 662,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 24672,
        "end": 24699,
        "loc": {
          "start": {
            "line": 655,
            "column": 9
          },
          "end": {
            "line": 655,
            "column": 36
          }
        },
        "name": "updateSizesAndVisualization"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [],
      "body": {
        "type": "BlockStatement",
        "start": 24702,
        "end": 25012,
        "loc": {
          "start": {
            "line": 655,
            "column": 39
          },
          "end": {
            "line": 662,
            "column": 1
          }
        },
        "body": [
          {
            "type": "ExpressionStatement",
            "start": 24708,
            "end": 25010,
            "loc": {
              "start": {
                "line": 656,
                "column": 4
              },
              "end": {
                "line": 661,
                "column": 7
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 24708,
              "end": 25009,
              "loc": {
                "start": {
                  "line": 656,
                  "column": 4
                },
                "end": {
                  "line": 661,
                  "column": 6
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 24708,
                "end": 24737,
                "loc": {
                  "start": {
                    "line": 656,
                    "column": 4
                  },
                  "end": {
                    "line": 656,
                    "column": 33
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 24708,
                  "end": 24714,
                  "loc": {
                    "start": {
                      "line": 656,
                      "column": 4
                    },
                    "end": {
                      "line": 656,
                      "column": 10
                    }
                  },
                  "name": "Sketch"
                },
                "property": {
                  "type": "Identifier",
                  "start": 24715,
                  "end": 24737,
                  "loc": {
                    "start": {
                      "line": 656,
                      "column": 11
                    },
                    "end": {
                      "line": 656,
                      "column": 33
                    }
                  },
                  "name": "ForObjectsWithChildren"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "ThisExpression",
                  "start": 24738,
                  "end": 24742,
                  "loc": {
                    "start": {
                      "line": 656,
                      "column": 34
                    },
                    "end": {
                      "line": 656,
                      "column": 38
                    }
                  }
                },
                {
                  "type": "ArrowFunctionExpression",
                  "start": 24744,
                  "end": 25008,
                  "loc": {
                    "start": {
                      "line": 656,
                      "column": 40
                    },
                    "end": {
                      "line": 661,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 24744,
                      "end": 24747,
                      "loc": {
                        "start": {
                          "line": 656,
                          "column": 40
                        },
                        "end": {
                          "line": 656,
                          "column": 43
                        }
                      },
                      "name": "obj"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 24751,
                    "end": 25008,
                    "loc": {
                      "start": {
                        "line": 656,
                        "column": 47
                      },
                      "end": {
                        "line": 661,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "IfStatement",
                        "start": 24761,
                        "end": 24778,
                        "loc": {
                          "start": {
                            "line": 657,
                            "column": 8
                          },
                          "end": {
                            "line": 657,
                            "column": 25
                          }
                        },
                        "test": {
                          "type": "UnaryExpression",
                          "start": 24765,
                          "end": 24769,
                          "loc": {
                            "start": {
                              "line": 657,
                              "column": 12
                            },
                            "end": {
                              "line": 657,
                              "column": 16
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "Identifier",
                            "start": 24766,
                            "end": 24769,
                            "loc": {
                              "start": {
                                "line": 657,
                                "column": 13
                              },
                              "end": {
                                "line": 657,
                                "column": 16
                              }
                            },
                            "name": "obj"
                          }
                        },
                        "consequent": {
                          "type": "ReturnStatement",
                          "start": 24771,
                          "end": 24778,
                          "loc": {
                            "start": {
                              "line": 657,
                              "column": 18
                            },
                            "end": {
                              "line": 657,
                              "column": 25
                            }
                          },
                          "argument": null,
                          "leadingComments": null,
                          "trailingComments": null
                        },
                        "alternate": null,
                        "trailingComments": [
                          {
                            "type": "CommentLine",
                            "value": "TODO: perhaps we can add a \"dirty\" flag to avoid doing all the updates every frame...",
                            "start": 24787,
                            "end": 24874,
                            "loc": {
                              "start": {
                                "line": 658,
                                "column": 8
                              },
                              "end": {
                                "line": 658,
                                "column": 95
                              }
                            },
                            "range": [
                              24787,
                              24874
                            ]
                          }
                        ]
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 24883,
                        "end": 24940,
                        "loc": {
                          "start": {
                            "line": 659,
                            "column": 8
                          },
                          "end": {
                            "line": 659,
                            "column": 65
                          }
                        },
                        "expression": {
                          "type": "LogicalExpression",
                          "start": 24883,
                          "end": 24939,
                          "loc": {
                            "start": {
                              "line": 659,
                              "column": 8
                            },
                            "end": {
                              "line": 659,
                              "column": 64
                            }
                          },
                          "left": {
                            "type": "LogicalExpression",
                            "start": 24883,
                            "end": 24910,
                            "loc": {
                              "start": {
                                "line": 659,
                                "column": 8
                              },
                              "end": {
                                "line": 659,
                                "column": 35
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 24883,
                              "end": 24898,
                              "loc": {
                                "start": {
                                  "line": 659,
                                  "column": 8
                                },
                                "end": {
                                  "line": 659,
                                  "column": 23
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 24883,
                                "end": 24886,
                                "loc": {
                                  "start": {
                                    "line": 659,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 659,
                                    "column": 11
                                  }
                                },
                                "name": "obj",
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 24887,
                                "end": 24898,
                                "loc": {
                                  "start": {
                                    "line": 659,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 659,
                                    "column": 23
                                  }
                                },
                                "name": "updateSizes"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "operator": "&&",
                            "right": {
                              "type": "MemberExpression",
                              "start": 24902,
                              "end": 24910,
                              "loc": {
                                "start": {
                                  "line": 659,
                                  "column": 27
                                },
                                "end": {
                                  "line": 659,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 24902,
                                "end": 24905,
                                "loc": {
                                  "start": {
                                    "line": 659,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 659,
                                    "column": 30
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 24906,
                                "end": 24910,
                                "loc": {
                                  "start": {
                                    "line": 659,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 659,
                                    "column": 35
                                  }
                                },
                                "name": "view"
                              },
                              "computed": false
                            },
                            "leadingComments": null
                          },
                          "operator": "&&",
                          "right": {
                            "type": "CallExpression",
                            "start": 24914,
                            "end": 24939,
                            "loc": {
                              "start": {
                                "line": 659,
                                "column": 39
                              },
                              "end": {
                                "line": 659,
                                "column": 64
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 24914,
                              "end": 24929,
                              "loc": {
                                "start": {
                                  "line": 659,
                                  "column": 39
                                },
                                "end": {
                                  "line": 659,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 24914,
                                "end": 24917,
                                "loc": {
                                  "start": {
                                    "line": 659,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 659,
                                    "column": 42
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 24918,
                                "end": 24929,
                                "loc": {
                                  "start": {
                                    "line": 659,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 659,
                                    "column": 54
                                  }
                                },
                                "name": "updateSizes"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 24930,
                                "end": 24938,
                                "loc": {
                                  "start": {
                                    "line": 659,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 659,
                                    "column": 63
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 24930,
                                  "end": 24933,
                                  "loc": {
                                    "start": {
                                      "line": 659,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 659,
                                      "column": 58
                                    }
                                  },
                                  "name": "obj"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 24934,
                                  "end": 24938,
                                  "loc": {
                                    "start": {
                                      "line": 659,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 659,
                                      "column": 63
                                    }
                                  },
                                  "name": "view"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "leadingComments": null
                        },
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": "TODO: perhaps we can add a \"dirty\" flag to avoid doing all the updates every frame...",
                            "start": 24787,
                            "end": 24874,
                            "loc": {
                              "start": {
                                "line": 658,
                                "column": 8
                              },
                              "end": {
                                "line": 658,
                                "column": 95
                              }
                            },
                            "range": [
                              24787,
                              24874
                            ]
                          }
                        ]
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 24949,
                        "end": 25002,
                        "loc": {
                          "start": {
                            "line": 660,
                            "column": 8
                          },
                          "end": {
                            "line": 660,
                            "column": 61
                          }
                        },
                        "expression": {
                          "type": "LogicalExpression",
                          "start": 24949,
                          "end": 25001,
                          "loc": {
                            "start": {
                              "line": 660,
                              "column": 8
                            },
                            "end": {
                              "line": 660,
                              "column": 60
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 24949,
                            "end": 24972,
                            "loc": {
                              "start": {
                                "line": 660,
                                "column": 8
                              },
                              "end": {
                                "line": 660,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 24949,
                              "end": 24952,
                              "loc": {
                                "start": {
                                  "line": 660,
                                  "column": 8
                                },
                                "end": {
                                  "line": 660,
                                  "column": 11
                                }
                              },
                              "name": "obj"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 24953,
                              "end": 24972,
                              "loc": {
                                "start": {
                                  "line": 660,
                                  "column": 12
                                },
                                "end": {
                                  "line": 660,
                                  "column": 31
                                }
                              },
                              "name": "updateVisualization"
                            },
                            "computed": false
                          },
                          "operator": "&&",
                          "right": {
                            "type": "CallExpression",
                            "start": 24976,
                            "end": 25001,
                            "loc": {
                              "start": {
                                "line": 660,
                                "column": 35
                              },
                              "end": {
                                "line": 660,
                                "column": 60
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 24976,
                              "end": 24999,
                              "loc": {
                                "start": {
                                  "line": 660,
                                  "column": 35
                                },
                                "end": {
                                  "line": 660,
                                  "column": 58
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 24976,
                                "end": 24979,
                                "loc": {
                                  "start": {
                                    "line": 660,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 660,
                                    "column": 38
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 24980,
                                "end": 24999,
                                "loc": {
                                  "start": {
                                    "line": 660,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 660,
                                    "column": 58
                                  }
                                },
                                "name": "updateVisualization"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      }
    }
  ]
}