{
  "type": "Program",
  "start": 0,
  "end": 26973,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 695,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [
    {
      "type": "ImportDeclaration",
      "start": 0,
      "end": 37,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 37
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 7,
          "end": 13,
          "loc": {
            "start": {
              "line": 1,
              "column": 7
            },
            "end": {
              "line": 1,
              "column": 13
            }
          },
          "local": {
            "type": "Identifier",
            "start": 7,
            "end": 13,
            "loc": {
              "start": {
                "line": 1,
                "column": 7
              },
              "end": {
                "line": 1,
                "column": 13
              }
            },
            "name": "Sketch"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 19,
        "end": 36,
        "loc": {
          "start": {
            "line": 1,
            "column": 19
          },
          "end": {
            "line": 1,
            "column": 36
          }
        },
        "value": "sketcher/sketch",
        "rawValue": "sketcher/sketch",
        "raw": "'sketcher/sketch'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 38,
      "end": 79,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 41
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 45,
          "end": 53,
          "loc": {
            "start": {
              "line": 2,
              "column": 7
            },
            "end": {
              "line": 2,
              "column": 15
            }
          },
          "local": {
            "type": "Identifier",
            "start": 45,
            "end": 53,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 15
              }
            },
            "name": "Sketcher"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 59,
        "end": 78,
        "loc": {
          "start": {
            "line": 2,
            "column": 21
          },
          "end": {
            "line": 2,
            "column": 40
          }
        },
        "value": "sketcher/sketcher",
        "rawValue": "sketcher/sketcher",
        "raw": "'sketcher/sketcher'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 80,
      "end": 130,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 50
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 88,
          "end": 102,
          "loc": {
            "start": {
              "line": 3,
              "column": 8
            },
            "end": {
              "line": 3,
              "column": 22
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 88,
            "end": 102,
            "loc": {
              "start": {
                "line": 3,
                "column": 8
              },
              "end": {
                "line": 3,
                "column": 22
              }
            },
            "name": "ClassCadObject"
          },
          "local": {
            "type": "Identifier",
            "start": 88,
            "end": 102,
            "loc": {
              "start": {
                "line": 3,
                "column": 8
              },
              "end": {
                "line": 3,
                "column": 22
              }
            },
            "name": "ClassCadObject"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 109,
        "end": 129,
        "loc": {
          "start": {
            "line": 3,
            "column": 29
          },
          "end": {
            "line": 3,
            "column": 49
          }
        },
        "value": "sketcher/ccobjects",
        "rawValue": "sketcher/ccobjects",
        "raw": "'sketcher/ccobjects'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 131,
      "end": 160,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 29
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 138,
          "end": 142,
          "loc": {
            "start": {
              "line": 4,
              "column": 7
            },
            "end": {
              "line": 4,
              "column": 11
            }
          },
          "local": {
            "type": "Identifier",
            "start": 138,
            "end": 142,
            "loc": {
              "start": {
                "line": 4,
                "column": 7
              },
              "end": {
                "line": 4,
                "column": 11
              }
            },
            "name": "View"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 148,
        "end": 159,
        "loc": {
          "start": {
            "line": 4,
            "column": 17
          },
          "end": {
            "line": 4,
            "column": 28
          }
        },
        "value": "core/view",
        "rawValue": "core/view",
        "raw": "'core/view'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 161,
      "end": 218,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 57
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 169,
          "end": 181,
          "loc": {
            "start": {
              "line": 5,
              "column": 8
            },
            "end": {
              "line": 5,
              "column": 20
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 169,
            "end": 181,
            "loc": {
              "start": {
                "line": 5,
                "column": 8
              },
              "end": {
                "line": 5,
                "column": 20
              }
            },
            "name": "trackPromise"
          },
          "local": {
            "type": "Identifier",
            "start": 169,
            "end": 181,
            "loc": {
              "start": {
                "line": 5,
                "column": 8
              },
              "end": {
                "line": 5,
                "column": 20
              }
            },
            "name": "trackPromise"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 183,
          "end": 190,
          "loc": {
            "start": {
              "line": 5,
              "column": 22
            },
            "end": {
              "line": 5,
              "column": 29
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 183,
            "end": 190,
            "loc": {
              "start": {
                "line": 5,
                "column": 22
              },
              "end": {
                "line": 5,
                "column": 29
              }
            },
            "name": "Interop"
          },
          "local": {
            "type": "Identifier",
            "start": 183,
            "end": 190,
            "loc": {
              "start": {
                "line": 5,
                "column": 22
              },
              "end": {
                "line": 5,
                "column": 29
              }
            },
            "name": "Interop"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 197,
        "end": 217,
        "loc": {
          "start": {
            "line": 5,
            "column": 36
          },
          "end": {
            "line": 5,
            "column": 56
          }
        },
        "value": "sketcher/cchelpers",
        "rawValue": "sketcher/cchelpers",
        "raw": "'sketcher/cchelpers'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 219,
      "end": 245,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 26
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 226,
          "end": 231,
          "loc": {
            "start": {
              "line": 6,
              "column": 7
            },
            "end": {
              "line": 6,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 226,
            "end": 231,
            "loc": {
              "start": {
                "line": 6,
                "column": 7
              },
              "end": {
                "line": 6,
                "column": 12
              }
            },
            "name": "THREE"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 237,
        "end": 244,
        "loc": {
          "start": {
            "line": 6,
            "column": 18
          },
          "end": {
            "line": 6,
            "column": 25
          }
        },
        "value": "three",
        "rawValue": "three",
        "raw": "'three'"
      },
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": "note: invisible geometry is not used anymore...",
          "start": 247,
          "end": 296,
          "loc": {
            "start": {
              "line": 8,
              "column": 0
            },
            "end": {
              "line": 8,
              "column": 49
            }
          },
          "range": [
            247,
            296
          ]
        },
        {
          "type": "CommentLine",
          "value": "var interactMaterial = new THREE.MeshBasicMaterial({color: 0xff0000, visible: false, side: THREE.DoubleSide});",
          "start": 297,
          "end": 409,
          "loc": {
            "start": {
              "line": 9,
              "column": 0
            },
            "end": {
              "line": 9,
              "column": 112
            }
          },
          "range": [
            297,
            409
          ]
        },
        {
          "type": "CommentLine",
          "value": " mixin for geometric objects that can be highlighted",
          "start": 411,
          "end": 465,
          "loc": {
            "start": {
              "line": 11,
              "column": 0
            },
            "end": {
              "line": 11,
              "column": 54
            }
          },
          "range": [
            411,
            465
          ]
        }
      ]
    },
    {
      "type": "FunctionDeclaration",
      "start": 466,
      "end": 1901,
      "loc": {
        "start": {
          "line": 12,
          "column": 0
        },
        "end": {
          "line": 43,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 475,
        "end": 492,
        "loc": {
          "start": {
            "line": 12,
            "column": 9
          },
          "end": {
            "line": 12,
            "column": 26
          }
        },
        "name": "meshHighlightable",
        "leadingComments": null
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [],
      "body": {
        "type": "BlockStatement",
        "start": 495,
        "end": 1901,
        "loc": {
          "start": {
            "line": 12,
            "column": 29
          },
          "end": {
            "line": 43,
            "column": 1
          }
        },
        "body": [
          {
            "type": "ExpressionStatement",
            "start": 501,
            "end": 1414,
            "loc": {
              "start": {
                "line": 13,
                "column": 4
              },
              "end": {
                "line": 32,
                "column": 6
              }
            },
            "expression": {
              "type": "AssignmentExpression",
              "start": 501,
              "end": 1413,
              "loc": {
                "start": {
                  "line": 13,
                  "column": 4
                },
                "end": {
                  "line": 32,
                  "column": 5
                }
              },
              "operator": "=",
              "left": {
                "type": "MemberExpression",
                "start": 501,
                "end": 511,
                "loc": {
                  "start": {
                    "line": 13,
                    "column": 4
                  },
                  "end": {
                    "line": 13,
                    "column": 14
                  }
                },
                "object": {
                  "type": "ThisExpression",
                  "start": 501,
                  "end": 505,
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 4
                    },
                    "end": {
                      "line": 13,
                      "column": 8
                    }
                  }
                },
                "property": {
                  "type": "Identifier",
                  "start": 506,
                  "end": 511,
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 9
                    },
                    "end": {
                      "line": 13,
                      "column": 14
                    }
                  },
                  "name": "hover"
                },
                "computed": false
              },
              "right": {
                "type": "FunctionExpression",
                "start": 514,
                "end": 1413,
                "loc": {
                  "start": {
                    "line": 13,
                    "column": 17
                  },
                  "end": {
                    "line": 32,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 525,
                  "end": 1413,
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 28
                    },
                    "end": {
                      "line": 32,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 535,
                      "end": 557,
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 8
                        },
                        "end": {
                          "line": 14,
                          "column": 30
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 539,
                          "end": 556,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 12
                            },
                            "end": {
                              "line": 14,
                              "column": 29
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 539,
                            "end": 542,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 12
                              },
                              "end": {
                                "line": 14,
                                "column": 15
                              }
                            },
                            "name": "obj"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 545,
                            "end": 556,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 18
                              },
                              "end": {
                                "line": 14,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 545,
                              "end": 549,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 18
                                },
                                "end": {
                                  "line": 14,
                                  "column": 22
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 550,
                              "end": 556,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 23
                                },
                                "end": {
                                  "line": 14,
                                  "column": 29
                                }
                              },
                              "name": "parent"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 566,
                      "end": 605,
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 8
                        },
                        "end": {
                          "line": 15,
                          "column": 47
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 570,
                          "end": 604,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 12
                            },
                            "end": {
                              "line": 15,
                              "column": 46
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 570,
                            "end": 576,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 12
                              },
                              "end": {
                                "line": 15,
                                "column": 18
                              }
                            },
                            "name": "sketch"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 579,
                            "end": 604,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 21
                              },
                              "end": {
                                "line": 15,
                                "column": 46
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 579,
                              "end": 598,
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 21
                                },
                                "end": {
                                  "line": 15,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 579,
                                "end": 585,
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 27
                                  }
                                },
                                "name": "Sketch"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 586,
                                "end": 598,
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 40
                                  }
                                },
                                "name": "FindSketchOf"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "start": 599,
                                "end": 603,
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 45
                                  }
                                }
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 614,
                      "end": 634,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 8
                        },
                        "end": {
                          "line": 16,
                          "column": 28
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 618,
                        "end": 625,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 12
                          },
                          "end": {
                            "line": 16,
                            "column": 19
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 619,
                          "end": 625,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 13
                            },
                            "end": {
                              "line": 16,
                              "column": 19
                            }
                          },
                          "name": "sketch"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 627,
                        "end": 634,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 21
                          },
                          "end": {
                            "line": 16,
                            "column": 28
                          }
                        },
                        "argument": null,
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "like object being deleted...",
                          "start": 638,
                          "end": 668,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 32
                            },
                            "end": {
                              "line": 16,
                              "column": 62
                            }
                          },
                          "range": [
                            638,
                            668
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 677,
                      "end": 744,
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 8
                        },
                        "end": {
                          "line": 17,
                          "column": 75
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 677,
                        "end": 743,
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 8
                          },
                          "end": {
                            "line": 17,
                            "column": 74
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 677,
                          "end": 696,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 8
                            },
                            "end": {
                              "line": 17,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 677,
                            "end": 690,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 8
                              },
                              "end": {
                                "line": 17,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 677,
                              "end": 681,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 8
                                },
                                "end": {
                                  "line": 17,
                                  "column": 12
                                }
                              },
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 682,
                              "end": 690,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 13
                                },
                                "end": {
                                  "line": 17,
                                  "column": 21
                                }
                              },
                              "name": "material"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 691,
                            "end": 696,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 22
                              },
                              "end": {
                                "line": 17,
                                "column": 27
                              }
                            },
                            "name": "color"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 699,
                          "end": 743,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 30
                            },
                            "end": {
                              "line": 17,
                              "column": 74
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 703,
                            "end": 714,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 34
                              },
                              "end": {
                                "line": 17,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 703,
                              "end": 708,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 34
                                },
                                "end": {
                                  "line": 17,
                                  "column": 39
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 709,
                              "end": 714,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 40
                                },
                                "end": {
                                  "line": 17,
                                  "column": 45
                                }
                              },
                              "name": "Color"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 715,
                              "end": 742,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 46
                                },
                                "end": {
                                  "line": 17,
                                  "column": 73
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 715,
                                "end": 723,
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 54
                                  }
                                },
                                "name": "getColor"
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 724,
                                  "end": 735,
                                  "loc": {
                                    "start": {
                                      "line": 17,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 17,
                                      "column": 66
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 724,
                                    "end": 728,
                                    "loc": {
                                      "start": {
                                        "line": 17,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 17,
                                        "column": 59
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 729,
                                    "end": 735,
                                    "loc": {
                                      "start": {
                                        "line": 17,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 17,
                                        "column": 66
                                      }
                                    },
                                    "name": "parent"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "Literal",
                                  "start": 737,
                                  "end": 741,
                                  "loc": {
                                    "start": {
                                      "line": 17,
                                      "column": 68
                                    },
                                    "end": {
                                      "line": 17,
                                      "column": 72
                                    }
                                  },
                                  "value": true,
                                  "rawValue": true,
                                  "raw": "true"
                                }
                              ]
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "like object being deleted...",
                          "start": 638,
                          "end": 668,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 32
                            },
                            "end": {
                              "line": 16,
                              "column": 62
                            }
                          },
                          "range": [
                            638,
                            668
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 753,
                      "end": 791,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 8
                        },
                        "end": {
                          "line": 18,
                          "column": 46
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 757,
                        "end": 782,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 12
                          },
                          "end": {
                            "line": 18,
                            "column": 37
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 757,
                          "end": 760,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 12
                            },
                            "end": {
                              "line": 18,
                              "column": 15
                            }
                          },
                          "name": "obj"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 761,
                          "end": 782,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 16
                            },
                            "end": {
                              "line": 18,
                              "column": 37
                            }
                          },
                          "name": "auxiliaryConstruction"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 784,
                        "end": 791,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 39
                          },
                          "end": {
                            "line": 18,
                            "column": 46
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 800,
                      "end": 999,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 8
                        },
                        "end": {
                          "line": 25,
                          "column": 10
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 804,
                          "end": 998,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 12
                            },
                            "end": {
                              "line": 25,
                              "column": 9
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 804,
                            "end": 812,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 12
                              },
                              "end": {
                                "line": 19,
                                "column": 20
                              }
                            },
                            "name": "material"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 815,
                            "end": 998,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 23
                              },
                              "end": {
                                "line": 25,
                                "column": 9
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 819,
                              "end": 842,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 27
                                },
                                "end": {
                                  "line": 19,
                                  "column": 50
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 819,
                                "end": 824,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 32
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 825,
                                "end": 842,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 50
                                  }
                                },
                                "name": "LineBasicMaterial"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ObjectExpression",
                                "start": 856,
                                "end": 988,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 13
                                  }
                                },
                                "properties": [
                                  {
                                    "type": "Property",
                                    "start": 874,
                                    "end": 909,
                                    "loc": {
                                      "start": {
                                        "line": 21,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 21,
                                        "column": 51
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 874,
                                      "end": 879,
                                      "loc": {
                                        "start": {
                                          "line": 21,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 21,
                                          "column": 21
                                        }
                                      },
                                      "name": "color"
                                    },
                                    "value": {
                                      "type": "CallExpression",
                                      "start": 881,
                                      "end": 909,
                                      "loc": {
                                        "start": {
                                          "line": 21,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 21,
                                          "column": 51
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 881,
                                        "end": 889,
                                        "loc": {
                                          "start": {
                                            "line": 21,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 21,
                                            "column": 31
                                          }
                                        },
                                        "name": "getColor"
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "start": 890,
                                          "end": 901,
                                          "loc": {
                                            "start": {
                                              "line": 21,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 21,
                                              "column": 43
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 890,
                                            "end": 894,
                                            "loc": {
                                              "start": {
                                                "line": 21,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 21,
                                                "column": 36
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 895,
                                            "end": 901,
                                            "loc": {
                                              "start": {
                                                "line": 21,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 21,
                                                "column": 43
                                              }
                                            },
                                            "name": "parent"
                                          },
                                          "computed": false
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 903,
                                          "end": 908,
                                          "loc": {
                                            "start": {
                                              "line": 21,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 21,
                                              "column": 50
                                            }
                                          },
                                          "value": false,
                                          "rawValue": false,
                                          "raw": "false"
                                        }
                                      ]
                                    },
                                    "kind": "init"
                                  },
                                  {
                                    "type": "Property",
                                    "start": 927,
                                    "end": 944,
                                    "loc": {
                                      "start": {
                                        "line": 22,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 22,
                                        "column": 33
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 927,
                                      "end": 938,
                                      "loc": {
                                        "start": {
                                          "line": 22,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 22,
                                          "column": 27
                                        }
                                      },
                                      "name": "transparent"
                                    },
                                    "value": {
                                      "type": "Literal",
                                      "start": 940,
                                      "end": 944,
                                      "loc": {
                                        "start": {
                                          "line": 22,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 22,
                                          "column": 33
                                        }
                                      },
                                      "value": true,
                                      "rawValue": true,
                                      "raw": "true"
                                    },
                                    "kind": "init"
                                  },
                                  {
                                    "type": "Property",
                                    "start": 962,
                                    "end": 974,
                                    "loc": {
                                      "start": {
                                        "line": 23,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 28
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 962,
                                      "end": 969,
                                      "loc": {
                                        "start": {
                                          "line": 23,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 23,
                                          "column": 23
                                        }
                                      },
                                      "name": "opacity"
                                    },
                                    "value": {
                                      "type": "Literal",
                                      "start": 971,
                                      "end": 974,
                                      "loc": {
                                        "start": {
                                          "line": 23,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 23,
                                          "column": 28
                                        }
                                      },
                                      "value": 0.3,
                                      "rawValue": 0.3,
                                      "raw": "0.3"
                                    },
                                    "kind": "init"
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1008,
                      "end": 1050,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 8
                        },
                        "end": {
                          "line": 26,
                          "column": 50
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1012,
                          "end": 1049,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 12
                            },
                            "end": {
                              "line": 26,
                              "column": 49
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1012,
                            "end": 1020,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 12
                              },
                              "end": {
                                "line": 26,
                                "column": 20
                              }
                            },
                            "name": "geometry"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 1023,
                            "end": 1049,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 23
                              },
                              "end": {
                                "line": 26,
                                "column": 49
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1023,
                              "end": 1047,
                              "loc": {
                                "start": {
                                  "line": 26,
                                  "column": 23
                                },
                                "end": {
                                  "line": 26,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1023,
                                "end": 1026,
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 26
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1027,
                                "end": 1047,
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 47
                                  }
                                },
                                "name": "getAuxiliaryGeometry"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1059,
                      "end": 1140,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 8
                        },
                        "end": {
                          "line": 27,
                          "column": 89
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1063,
                          "end": 1139,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 12
                            },
                            "end": {
                              "line": 27,
                              "column": 88
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1063,
                            "end": 1084,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 12
                              },
                              "end": {
                                "line": 27,
                                "column": 33
                              }
                            },
                            "name": "auxiliaryConstruction"
                          },
                          "init": {
                            "type": "ConditionalExpression",
                            "start": 1087,
                            "end": 1139,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 36
                              },
                              "end": {
                                "line": 27,
                                "column": 88
                              }
                            },
                            "test": {
                              "type": "Identifier",
                              "start": 1087,
                              "end": 1095,
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 36
                                },
                                "end": {
                                  "line": 27,
                                  "column": 44
                                }
                              },
                              "name": "geometry"
                            },
                            "consequent": {
                              "type": "NewExpression",
                              "start": 1098,
                              "end": 1132,
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 47
                                },
                                "end": {
                                  "line": 27,
                                  "column": 81
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1102,
                                "end": 1112,
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 61
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1102,
                                  "end": 1107,
                                  "loc": {
                                    "start": {
                                      "line": 27,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 27,
                                      "column": 56
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1108,
                                  "end": 1112,
                                  "loc": {
                                    "start": {
                                      "line": 27,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 27,
                                      "column": 61
                                    }
                                  },
                                  "name": "Line"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 1113,
                                  "end": 1121,
                                  "loc": {
                                    "start": {
                                      "line": 27,
                                      "column": 62
                                    },
                                    "end": {
                                      "line": 27,
                                      "column": 70
                                    }
                                  },
                                  "name": "geometry"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 1123,
                                  "end": 1131,
                                  "loc": {
                                    "start": {
                                      "line": 27,
                                      "column": 72
                                    },
                                    "end": {
                                      "line": 27,
                                      "column": 80
                                    }
                                  },
                                  "name": "material"
                                }
                              ]
                            },
                            "alternate": {
                              "type": "Literal",
                              "start": 1135,
                              "end": 1139,
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 84
                                },
                                "end": {
                                  "line": 27,
                                  "column": 88
                                }
                              },
                              "value": null,
                              "rawValue": null,
                              "raw": "null"
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1149,
                      "end": 1199,
                      "loc": {
                        "start": {
                          "line": 28,
                          "column": 8
                        },
                        "end": {
                          "line": 28,
                          "column": 58
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1149,
                        "end": 1198,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 8
                          },
                          "end": {
                            "line": 28,
                            "column": 57
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1149,
                          "end": 1174,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 8
                            },
                            "end": {
                              "line": 28,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1149,
                            "end": 1152,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 8
                              },
                              "end": {
                                "line": 28,
                                "column": 11
                              }
                            },
                            "name": "obj"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1153,
                            "end": 1174,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 12
                              },
                              "end": {
                                "line": 28,
                                "column": 33
                              }
                            },
                            "name": "auxiliaryConstruction"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 1177,
                          "end": 1198,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 36
                            },
                            "end": {
                              "line": 28,
                              "column": 57
                            }
                          },
                          "name": "auxiliaryConstruction"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1208,
                      "end": 1300,
                      "loc": {
                        "start": {
                          "line": 29,
                          "column": 8
                        },
                        "end": {
                          "line": 29,
                          "column": 100
                        }
                      },
                      "expression": {
                        "type": "LogicalExpression",
                        "start": 1208,
                        "end": 1299,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 8
                          },
                          "end": {
                            "line": 29,
                            "column": 99
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 1208,
                          "end": 1233,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 8
                            },
                            "end": {
                              "line": 29,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1208,
                            "end": 1211,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 8
                              },
                              "end": {
                                "line": 29,
                                "column": 11
                              }
                            },
                            "name": "obj"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1212,
                            "end": 1233,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 12
                              },
                              "end": {
                                "line": 29,
                                "column": 33
                              }
                            },
                            "name": "auxiliaryConstruction"
                          },
                          "computed": false
                        },
                        "operator": "&&",
                        "right": {
                          "type": "CallExpression",
                          "start": 1237,
                          "end": 1299,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 37
                            },
                            "end": {
                              "line": 29,
                              "column": 99
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1237,
                            "end": 1276,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 37
                              },
                              "end": {
                                "line": 29,
                                "column": 76
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1237,
                              "end": 1271,
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 37
                                },
                                "end": {
                                  "line": 29,
                                  "column": 71
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1237,
                                "end": 1262,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 62
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1237,
                                  "end": 1240,
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 40
                                    }
                                  },
                                  "name": "obj"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1241,
                                  "end": 1262,
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 62
                                    }
                                  },
                                  "name": "auxiliaryConstruction"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1263,
                                "end": 1271,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 71
                                  }
                                },
                                "name": "position"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1272,
                              "end": 1276,
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 72
                                },
                                "end": {
                                  "line": 29,
                                  "column": 76
                                }
                              },
                              "name": "copy"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 1277,
                              "end": 1298,
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 77
                                },
                                "end": {
                                  "line": 29,
                                  "column": 98
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1277,
                                "end": 1289,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 77
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 89
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1277,
                                  "end": 1280,
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 77
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 80
                                    }
                                  },
                                  "name": "obj"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1281,
                                  "end": 1289,
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 81
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 89
                                    }
                                  },
                                  "name": "interact"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1290,
                                "end": 1298,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 90
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 98
                                  }
                                },
                                "name": "position"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 1309,
                      "end": 1379,
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 8
                        },
                        "end": {
                          "line": 30,
                          "column": 78
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 1313,
                        "end": 1334,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 12
                          },
                          "end": {
                            "line": 30,
                            "column": 33
                          }
                        },
                        "name": "auxiliaryConstruction"
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 1336,
                        "end": 1379,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 35
                          },
                          "end": {
                            "line": 30,
                            "column": 78
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 1336,
                          "end": 1378,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 35
                            },
                            "end": {
                              "line": 30,
                              "column": 77
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1336,
                            "end": 1355,
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 35
                              },
                              "end": {
                                "line": 30,
                                "column": 54
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1336,
                              "end": 1342,
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 35
                                },
                                "end": {
                                  "line": 30,
                                  "column": 41
                                }
                              },
                              "name": "sketch"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1343,
                              "end": 1355,
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 42
                                },
                                "end": {
                                  "line": 30,
                                  "column": 54
                                }
                              },
                              "name": "addAuxObject"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1356,
                              "end": 1377,
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 55
                                },
                                "end": {
                                  "line": 30,
                                  "column": 76
                                }
                              },
                              "name": "auxiliaryConstruction"
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1388,
                      "end": 1407,
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 8
                        },
                        "end": {
                          "line": 31,
                          "column": 27
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1388,
                        "end": 1406,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 8
                          },
                          "end": {
                            "line": 31,
                            "column": 26
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1388,
                          "end": 1399,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 8
                            },
                            "end": {
                              "line": 31,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1388,
                            "end": 1391,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 8
                              },
                              "end": {
                                "line": 31,
                                "column": 11
                              }
                            },
                            "name": "obj"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1392,
                            "end": 1399,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 12
                              },
                              "end": {
                                "line": 31,
                                "column": 19
                              }
                            },
                            "name": "hovered"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 1402,
                          "end": 1406,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 22
                            },
                            "end": {
                              "line": 31,
                              "column": 26
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 1419,
            "end": 1899,
            "loc": {
              "start": {
                "line": 33,
                "column": 4
              },
              "end": {
                "line": 42,
                "column": 6
              }
            },
            "expression": {
              "type": "AssignmentExpression",
              "start": 1419,
              "end": 1898,
              "loc": {
                "start": {
                  "line": 33,
                  "column": 4
                },
                "end": {
                  "line": 42,
                  "column": 5
                }
              },
              "operator": "=",
              "left": {
                "type": "MemberExpression",
                "start": 1419,
                "end": 1431,
                "loc": {
                  "start": {
                    "line": 33,
                    "column": 4
                  },
                  "end": {
                    "line": 33,
                    "column": 16
                  }
                },
                "object": {
                  "type": "ThisExpression",
                  "start": 1419,
                  "end": 1423,
                  "loc": {
                    "start": {
                      "line": 33,
                      "column": 4
                    },
                    "end": {
                      "line": 33,
                      "column": 8
                    }
                  }
                },
                "property": {
                  "type": "Identifier",
                  "start": 1424,
                  "end": 1431,
                  "loc": {
                    "start": {
                      "line": 33,
                      "column": 9
                    },
                    "end": {
                      "line": 33,
                      "column": 16
                    }
                  },
                  "name": "unhover"
                },
                "computed": false
              },
              "right": {
                "type": "FunctionExpression",
                "start": 1434,
                "end": 1898,
                "loc": {
                  "start": {
                    "line": 33,
                    "column": 19
                  },
                  "end": {
                    "line": 42,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1445,
                  "end": 1898,
                  "loc": {
                    "start": {
                      "line": 33,
                      "column": 30
                    },
                    "end": {
                      "line": 42,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1455,
                      "end": 1523,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 8
                        },
                        "end": {
                          "line": 34,
                          "column": 76
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1455,
                        "end": 1522,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 8
                          },
                          "end": {
                            "line": 34,
                            "column": 75
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1455,
                          "end": 1474,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 34,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1455,
                            "end": 1468,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 8
                              },
                              "end": {
                                "line": 34,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1455,
                              "end": 1459,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 8
                                },
                                "end": {
                                  "line": 34,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1460,
                              "end": 1468,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 13
                                },
                                "end": {
                                  "line": 34,
                                  "column": 21
                                }
                              },
                              "name": "material"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1469,
                            "end": 1474,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 22
                              },
                              "end": {
                                "line": 34,
                                "column": 27
                              }
                            },
                            "name": "color"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 1477,
                          "end": 1522,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 30
                            },
                            "end": {
                              "line": 34,
                              "column": 75
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1481,
                            "end": 1492,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 34
                              },
                              "end": {
                                "line": 34,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1481,
                              "end": 1486,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 34
                                },
                                "end": {
                                  "line": 34,
                                  "column": 39
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1487,
                              "end": 1492,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 40
                                },
                                "end": {
                                  "line": 34,
                                  "column": 45
                                }
                              },
                              "name": "Color"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 1493,
                              "end": 1521,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 46
                                },
                                "end": {
                                  "line": 34,
                                  "column": 74
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 1493,
                                "end": 1501,
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 54
                                  }
                                },
                                "name": "getColor"
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 1502,
                                  "end": 1513,
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 66
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 1502,
                                    "end": 1506,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 59
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1507,
                                    "end": 1513,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 66
                                      }
                                    },
                                    "name": "parent"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "Literal",
                                  "start": 1515,
                                  "end": 1520,
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 68
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 73
                                    }
                                  },
                                  "value": false,
                                  "rawValue": false,
                                  "raw": "false"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1532,
                      "end": 1554,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 8
                        },
                        "end": {
                          "line": 35,
                          "column": 30
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1536,
                          "end": 1553,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 12
                            },
                            "end": {
                              "line": 35,
                              "column": 29
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1536,
                            "end": 1539,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 12
                              },
                              "end": {
                                "line": 35,
                                "column": 15
                              }
                            },
                            "name": "obj"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 1542,
                            "end": 1553,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 18
                              },
                              "end": {
                                "line": 35,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1542,
                              "end": 1546,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 18
                                },
                                "end": {
                                  "line": 35,
                                  "column": 22
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1547,
                              "end": 1553,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 23
                                },
                                "end": {
                                  "line": 35,
                                  "column": 29
                                }
                              },
                              "name": "parent"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 1563,
                      "end": 1892,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 8
                        },
                        "end": {
                          "line": 41,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 1567,
                        "end": 1592,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 12
                          },
                          "end": {
                            "line": 36,
                            "column": 37
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1567,
                          "end": 1570,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 12
                            },
                            "end": {
                              "line": 36,
                              "column": 15
                            }
                          },
                          "name": "obj"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1571,
                          "end": 1592,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 16
                            },
                            "end": {
                              "line": 36,
                              "column": 37
                            }
                          },
                          "name": "auxiliaryConstruction"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 1594,
                        "end": 1892,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 39
                          },
                          "end": {
                            "line": 41,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 1708,
                            "end": 1768,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 12
                              },
                              "end": {
                                "line": 38,
                                "column": 72
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 1712,
                                "end": 1767,
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 71
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 1712,
                                  "end": 1718,
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 22
                                    }
                                  },
                                  "name": "sketch",
                                  "leadingComments": null
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 1721,
                                  "end": 1767,
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 71
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 1721,
                                    "end": 1740,
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 44
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1721,
                                      "end": 1727,
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 31
                                        }
                                      },
                                      "name": "Sketch"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1728,
                                      "end": 1740,
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 44
                                        }
                                      },
                                      "name": "FindSketchOf"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 1741,
                                      "end": 1766,
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 70
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 1741,
                                        "end": 1744,
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 48
                                          }
                                        },
                                        "name": "obj"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1745,
                                        "end": 1766,
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 70
                                          }
                                        },
                                        "name": "auxiliaryConstruction"
                                      },
                                      "computed": false
                                    }
                                  ]
                                },
                                "leadingComments": null
                              }
                            ],
                            "kind": "var",
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " obj may have been removed from sketch, so call FindSketchOf on auxiliaryConstruction",
                                "start": 1608,
                                "end": 1695,
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 99
                                  }
                                },
                                "range": [
                                  1608,
                                  1695
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 1781,
                            "end": 1831,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 12
                              },
                              "end": {
                                "line": 39,
                                "column": 62
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 1781,
                              "end": 1830,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 12
                                },
                                "end": {
                                  "line": 39,
                                  "column": 61
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1781,
                                "end": 1803,
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 39,
                                    "column": 34
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1781,
                                  "end": 1787,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 18
                                    }
                                  },
                                  "name": "sketch"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1788,
                                  "end": 1803,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 34
                                    }
                                  },
                                  "name": "removeAuxObject"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 1804,
                                  "end": 1829,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 60
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1804,
                                    "end": 1807,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 38
                                      }
                                    },
                                    "name": "obj"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1808,
                                    "end": 1829,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 60
                                      }
                                    },
                                    "name": "auxiliaryConstruction"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 1844,
                            "end": 1882,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 12
                              },
                              "end": {
                                "line": 40,
                                "column": 50
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 1844,
                              "end": 1881,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 12
                                },
                                "end": {
                                  "line": 40,
                                  "column": 49
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 1844,
                                "end": 1869,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 37
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1844,
                                  "end": 1847,
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 15
                                    }
                                  },
                                  "name": "obj"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1848,
                                  "end": 1869,
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 37
                                    }
                                  },
                                  "name": "auxiliaryConstruction"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 1872,
                                "end": 1881,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 49
                                  }
                                },
                                "name": "undefined"
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            }
          }
        ],
        "trailingComments": null
      },
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": "note: invisible geometry is not used anymore...",
          "start": 247,
          "end": 296,
          "loc": {
            "start": {
              "line": 8,
              "column": 0
            },
            "end": {
              "line": 8,
              "column": 49
            }
          },
          "range": [
            247,
            296
          ]
        },
        {
          "type": "CommentLine",
          "value": "var interactMaterial = new THREE.MeshBasicMaterial({color: 0xff0000, visible: false, side: THREE.DoubleSide});",
          "start": 297,
          "end": 409,
          "loc": {
            "start": {
              "line": 9,
              "column": 0
            },
            "end": {
              "line": 9,
              "column": 112
            }
          },
          "range": [
            297,
            409
          ]
        },
        {
          "type": "CommentLine",
          "value": " mixin for geometric objects that can be highlighted",
          "start": 411,
          "end": 465,
          "loc": {
            "start": {
              "line": 11,
              "column": 0
            },
            "end": {
              "line": 11,
              "column": 54
            }
          },
          "range": [
            411,
            465
          ]
        }
      ],
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": " prototype for all interact meshes",
          "start": 1903,
          "end": 1939,
          "loc": {
            "start": {
              "line": 45,
              "column": 0
            },
            "end": {
              "line": 45,
              "column": 36
            }
          },
          "range": [
            1903,
            1939
          ]
        }
      ]
    },
    {
      "type": "ClassDeclaration",
      "start": 1940,
      "end": 2060,
      "loc": {
        "start": {
          "line": 46,
          "column": 0
        },
        "end": {
          "line": 50,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 1946,
        "end": 1958,
        "loc": {
          "start": {
            "line": 46,
            "column": 6
          },
          "end": {
            "line": 46,
            "column": 18
          }
        },
        "name": "InteractMesh",
        "leadingComments": null
      },
      "superClass": {
        "type": "MemberExpression",
        "start": 1967,
        "end": 1977,
        "loc": {
          "start": {
            "line": 46,
            "column": 27
          },
          "end": {
            "line": 46,
            "column": 37
          }
        },
        "object": {
          "type": "Identifier",
          "start": 1967,
          "end": 1972,
          "loc": {
            "start": {
              "line": 46,
              "column": 27
            },
            "end": {
              "line": 46,
              "column": 32
            }
          },
          "name": "THREE"
        },
        "property": {
          "type": "Identifier",
          "start": 1973,
          "end": 1977,
          "loc": {
            "start": {
              "line": 46,
              "column": 33
            },
            "end": {
              "line": 46,
              "column": 37
            }
          },
          "name": "Mesh"
        },
        "computed": false
      },
      "body": {
        "type": "ClassBody",
        "start": 1978,
        "end": 2060,
        "loc": {
          "start": {
            "line": 46,
            "column": 38
          },
          "end": {
            "line": 50,
            "column": 1
          }
        },
        "body": [
          {
            "type": "MethodDefinition",
            "start": 1984,
            "end": 2058,
            "loc": {
              "start": {
                "line": 47,
                "column": 4
              },
              "end": {
                "line": 49,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 1984,
              "end": 1995,
              "loc": {
                "start": {
                  "line": 47,
                  "column": 4
                },
                "end": {
                  "line": 47,
                  "column": 15
                }
              },
              "name": "constructor"
            },
            "static": false,
            "kind": "constructor",
            "value": {
              "type": "FunctionExpression",
              "start": 1995,
              "end": 2058,
              "loc": {
                "start": {
                  "line": 47,
                  "column": 15
                },
                "end": {
                  "line": 49,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 1996,
                  "end": 2004,
                  "loc": {
                    "start": {
                      "line": 47,
                      "column": 16
                    },
                    "end": {
                      "line": 47,
                      "column": 24
                    }
                  },
                  "name": "geometry"
                },
                {
                  "type": "Identifier",
                  "start": 2006,
                  "end": 2014,
                  "loc": {
                    "start": {
                      "line": 47,
                      "column": 26
                    },
                    "end": {
                      "line": 47,
                      "column": 34
                    }
                  },
                  "name": "material"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 2016,
                "end": 2058,
                "loc": {
                  "start": {
                    "line": 47,
                    "column": 36
                  },
                  "end": {
                    "line": 49,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 2026,
                    "end": 2052,
                    "loc": {
                      "start": {
                        "line": 48,
                        "column": 8
                      },
                      "end": {
                        "line": 48,
                        "column": 34
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 2026,
                      "end": 2051,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 8
                        },
                        "end": {
                          "line": 48,
                          "column": 33
                        }
                      },
                      "callee": {
                        "type": "Super",
                        "start": 2026,
                        "end": 2031,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 8
                          },
                          "end": {
                            "line": 48,
                            "column": 13
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 2032,
                          "end": 2040,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 14
                            },
                            "end": {
                              "line": 48,
                              "column": 22
                            }
                          },
                          "name": "geometry"
                        },
                        {
                          "type": "Identifier",
                          "start": 2042,
                          "end": 2050,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 24
                            },
                            "end": {
                              "line": 48,
                              "column": 32
                            }
                          },
                          "name": "material"
                        }
                      ]
                    }
                  }
                ]
              }
            }
          }
        ]
      },
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": " prototype for all interact meshes",
          "start": 1903,
          "end": 1939,
          "loc": {
            "start": {
              "line": 45,
              "column": 0
            },
            "end": {
              "line": 45,
              "column": 36
            }
          },
          "range": [
            1903,
            1939
          ]
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "start": 2061,
      "end": 2108,
      "loc": {
        "start": {
          "line": 51,
          "column": 0
        },
        "end": {
          "line": 51,
          "column": 47
        }
      },
      "expression": {
        "type": "CallExpression",
        "start": 2061,
        "end": 2107,
        "loc": {
          "start": {
            "line": 51,
            "column": 0
          },
          "end": {
            "line": 51,
            "column": 46
          }
        },
        "callee": {
          "type": "MemberExpression",
          "start": 2061,
          "end": 2083,
          "loc": {
            "start": {
              "line": 51,
              "column": 0
            },
            "end": {
              "line": 51,
              "column": 22
            }
          },
          "object": {
            "type": "Identifier",
            "start": 2061,
            "end": 2078,
            "loc": {
              "start": {
                "line": 51,
                "column": 0
              },
              "end": {
                "line": 51,
                "column": 17
              }
            },
            "name": "meshHighlightable"
          },
          "property": {
            "type": "Identifier",
            "start": 2079,
            "end": 2083,
            "loc": {
              "start": {
                "line": 51,
                "column": 18
              },
              "end": {
                "line": 51,
                "column": 22
              }
            },
            "name": "call"
          },
          "computed": false
        },
        "arguments": [
          {
            "type": "MemberExpression",
            "start": 2084,
            "end": 2106,
            "loc": {
              "start": {
                "line": 51,
                "column": 23
              },
              "end": {
                "line": 51,
                "column": 45
              }
            },
            "object": {
              "type": "Identifier",
              "start": 2084,
              "end": 2096,
              "loc": {
                "start": {
                  "line": 51,
                  "column": 23
                },
                "end": {
                  "line": 51,
                  "column": 35
                }
              },
              "name": "InteractMesh"
            },
            "property": {
              "type": "Identifier",
              "start": 2097,
              "end": 2106,
              "loc": {
                "start": {
                  "line": 51,
                  "column": 36
                },
                "end": {
                  "line": 51,
                  "column": 45
                }
              },
              "name": "prototype"
            },
            "computed": false
          }
        ]
      },
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": "=============================== Sketch.GeometricObject =================================",
          "start": 2110,
          "end": 2200,
          "loc": {
            "start": {
              "line": 53,
              "column": 0
            },
            "end": {
              "line": 53,
              "column": 90
            }
          },
          "range": [
            2110,
            2200
          ]
        },
        {
          "type": "Block",
          "value": "*\n * Each geometric objects has several update functions, here they are:\n * 1. updateGeometry(movedPoint)\n *   must be called after any child point is changed (i.e. line's endpoint or arc's center was moved)\n *   recalculates inner parameters of the geometry (if present, i.e. center, angles)\n * 2. updateSizes(owningView)\n *   must be called after camera or object has changed, and after any geometrical changes\n *   recalculates any required sizing data (i.e. `width` value)\n *   automatically generated by mixinPixelSizedGeometry\n * 3. updateVisualization()\n *   must be called after anything changes, which may influence visible representation of object\n *   updates or rebuilds a THREE.Mesh which visibly represent the object\n * Note that each update function depends on the data obtained from the previous steps.\n *\n * Here is general advice of how to call update functions:\n *   - call updateGeometry directly and only inside controls handlers (when smth is edited)\n *   - do not call other updates directly, just register each object with Sketcher.registerVisualization\n ",
          "start": 2201,
          "end": 3284,
          "loc": {
            "start": {
              "line": 54,
              "column": 0
            },
            "end": {
              "line": 71,
              "column": 3
            }
          },
          "range": [
            2201,
            3284
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 3285,
      "end": 3911,
      "loc": {
        "start": {
          "line": 72,
          "column": 0
        },
        "end": {
          "line": 89,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 3292,
        "end": 3911,
        "loc": {
          "start": {
            "line": 72,
            "column": 7
          },
          "end": {
            "line": 89,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 3298,
          "end": 3313,
          "loc": {
            "start": {
              "line": 72,
              "column": 13
            },
            "end": {
              "line": 72,
              "column": 28
            }
          },
          "name": "GeometricObject",
          "leadingComments": null
        },
        "superClass": {
          "type": "Identifier",
          "start": 3322,
          "end": 3336,
          "loc": {
            "start": {
              "line": 72,
              "column": 37
            },
            "end": {
              "line": 72,
              "column": 51
            }
          },
          "name": "ClassCadObject"
        },
        "body": {
          "type": "ClassBody",
          "start": 3337,
          "end": 3911,
          "loc": {
            "start": {
              "line": 72,
              "column": 52
            },
            "end": {
              "line": 89,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 3343,
              "end": 3846,
              "loc": {
                "start": {
                  "line": 73,
                  "column": 4
                },
                "end": {
                  "line": 84,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3343,
                "end": 3354,
                "loc": {
                  "start": {
                    "line": 73,
                    "column": 4
                  },
                  "end": {
                    "line": 73,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 3354,
                "end": 3846,
                "loc": {
                  "start": {
                    "line": 73,
                    "column": 15
                  },
                  "end": {
                    "line": 84,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 3357,
                  "end": 3846,
                  "loc": {
                    "start": {
                      "line": 73,
                      "column": 18
                    },
                    "end": {
                      "line": 84,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3367,
                      "end": 3375,
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 8
                        },
                        "end": {
                          "line": 74,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3367,
                        "end": 3374,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 8
                          },
                          "end": {
                            "line": 74,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 3367,
                          "end": 3372,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 8
                            },
                            "end": {
                              "line": 74,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3384,
                      "end": 3444,
                      "loc": {
                        "start": {
                          "line": 75,
                          "column": 8
                        },
                        "end": {
                          "line": 75,
                          "column": 68
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3384,
                        "end": 3443,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 8
                          },
                          "end": {
                            "line": 75,
                            "column": 67
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3384,
                          "end": 3421,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 8
                            },
                            "end": {
                              "line": 75,
                              "column": 45
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3384,
                            "end": 3416,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 8
                              },
                              "end": {
                                "line": 75,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3384,
                              "end": 3392,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 8
                                },
                                "end": {
                                  "line": 75,
                                  "column": 16
                                }
                              },
                              "name": "Sketcher"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3393,
                              "end": 3416,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 17
                                },
                                "end": {
                                  "line": 75,
                                  "column": 40
                                }
                              },
                              "name": "mixinPixelSizedGeometry"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3417,
                            "end": 3421,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 41
                              },
                              "end": {
                                "line": 75,
                                "column": 45
                              }
                            },
                            "name": "call"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 3422,
                            "end": 3426,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 46
                              },
                              "end": {
                                "line": 75,
                                "column": 50
                              }
                            }
                          },
                          {
                            "type": "MemberExpression",
                            "start": 3428,
                            "end": 3442,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 52
                              },
                              "end": {
                                "line": 75,
                                "column": 66
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 3428,
                              "end": 3432,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 52
                                },
                                "end": {
                                  "line": 75,
                                  "column": 56
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3433,
                              "end": 3442,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 57
                                },
                                "end": {
                                  "line": 75,
                                  "column": 66
                                }
                              },
                              "name": "thickness"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3454,
                      "end": 3789,
                      "loc": {
                        "start": {
                          "line": 77,
                          "column": 8
                        },
                        "end": {
                          "line": 82,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3454,
                        "end": 3788,
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 8
                          },
                          "end": {
                            "line": 82,
                            "column": 10
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3454,
                          "end": 3479,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 8
                            },
                            "end": {
                              "line": 77,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3454,
                            "end": 3458,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 8
                              },
                              "end": {
                                "line": 77,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3459,
                            "end": 3479,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 13
                              },
                              "end": {
                                "line": 77,
                                "column": 33
                              }
                            },
                            "name": "constraintsSubstrate"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 3483,
                          "end": 3788,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 37
                            },
                            "end": {
                              "line": 82,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 3487,
                            "end": 3499,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 41
                              },
                              "end": {
                                "line": 77,
                                "column": 53
                              }
                            },
                            "name": "InteractMesh"
                          },
                          "arguments": [
                            {
                              "type": "NewExpression",
                              "start": 3500,
                              "end": 3530,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 54
                                },
                                "end": {
                                  "line": 77,
                                  "column": 84
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3504,
                                "end": 3521,
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 77,
                                    "column": 75
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3504,
                                  "end": 3509,
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 63
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3510,
                                  "end": 3521,
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 64
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 75
                                    }
                                  },
                                  "name": "BoxGeometry"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 3522,
                                  "end": 3523,
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 76
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 77
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                {
                                  "type": "Literal",
                                  "start": 3525,
                                  "end": 3526,
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 79
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 80
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                {
                                  "type": "Literal",
                                  "start": 3528,
                                  "end": 3529,
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 82
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 83
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              ]
                            },
                            {
                              "type": "NewExpression",
                              "start": 3532,
                              "end": 3787,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 86
                                },
                                "end": {
                                  "line": 82,
                                  "column": 9
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3536,
                                "end": 3559,
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 90
                                  },
                                  "end": {
                                    "line": 77,
                                    "column": 113
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3536,
                                  "end": 3541,
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 90
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 95
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3542,
                                  "end": 3559,
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 96
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 113
                                    }
                                  },
                                  "name": "MeshBasicMaterial"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ObjectExpression",
                                  "start": 3573,
                                  "end": 3777,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 81,
                                      "column": 13
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "Property",
                                      "start": 3574,
                                      "end": 3602,
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 41
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 3574,
                                        "end": 3579,
                                        "loc": {
                                          "start": {
                                            "line": 78,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 78,
                                            "column": 18
                                          }
                                        },
                                        "name": "color"
                                      },
                                      "value": {
                                        "type": "CallExpression",
                                        "start": 3581,
                                        "end": 3602,
                                        "loc": {
                                          "start": {
                                            "line": 78,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 78,
                                            "column": 41
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 3581,
                                          "end": 3589,
                                          "loc": {
                                            "start": {
                                              "line": 78,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 78,
                                              "column": 28
                                            }
                                          },
                                          "name": "getColor"
                                        },
                                        "arguments": [
                                          {
                                            "type": "ThisExpression",
                                            "start": 3590,
                                            "end": 3594,
                                            "loc": {
                                              "start": {
                                                "line": 78,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 78,
                                                "column": 33
                                              }
                                            }
                                          },
                                          {
                                            "type": "Literal",
                                            "start": 3596,
                                            "end": 3601,
                                            "loc": {
                                              "start": {
                                                "line": 78,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 78,
                                                "column": 40
                                              }
                                            },
                                            "value": false,
                                            "rawValue": false,
                                            "raw": "false"
                                          }
                                        ]
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 3604,
                                      "end": 3626,
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 65
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 3604,
                                        "end": 3608,
                                        "loc": {
                                          "start": {
                                            "line": 78,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 78,
                                            "column": 47
                                          }
                                        },
                                        "name": "side"
                                      },
                                      "value": {
                                        "type": "MemberExpression",
                                        "start": 3610,
                                        "end": 3626,
                                        "loc": {
                                          "start": {
                                            "line": 78,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 78,
                                            "column": 65
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 3610,
                                          "end": 3615,
                                          "loc": {
                                            "start": {
                                              "line": 78,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 78,
                                              "column": 54
                                            }
                                          },
                                          "name": "THREE"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 3616,
                                          "end": 3626,
                                          "loc": {
                                            "start": {
                                              "line": 78,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 78,
                                              "column": 65
                                            }
                                          },
                                          "name": "DoubleSide"
                                        },
                                        "computed": false
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 3644,
                                      "end": 3663,
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 35
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 3644,
                                        "end": 3657,
                                        "loc": {
                                          "start": {
                                            "line": 79,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 79,
                                            "column": 29
                                          }
                                        },
                                        "name": "polygonOffset"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 3659,
                                        "end": 3663,
                                        "loc": {
                                          "start": {
                                            "line": 79,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 79,
                                            "column": 35
                                          }
                                        },
                                        "value": true,
                                        "rawValue": true,
                                        "raw": "true"
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 3665,
                                      "end": 3688,
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 60
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 3665,
                                        "end": 3684,
                                        "loc": {
                                          "start": {
                                            "line": 79,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 79,
                                            "column": 56
                                          }
                                        },
                                        "name": "polygonOffsetFactor"
                                      },
                                      "value": {
                                        "type": "UnaryExpression",
                                        "start": 3686,
                                        "end": 3688,
                                        "loc": {
                                          "start": {
                                            "line": 79,
                                            "column": 58
                                          },
                                          "end": {
                                            "line": 79,
                                            "column": 60
                                          }
                                        },
                                        "operator": "-",
                                        "prefix": true,
                                        "argument": {
                                          "type": "Literal",
                                          "start": 3687,
                                          "end": 3688,
                                          "loc": {
                                            "start": {
                                              "line": 79,
                                              "column": 59
                                            },
                                            "end": {
                                              "line": 79,
                                              "column": 60
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 3690,
                                      "end": 3714,
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 62
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 86
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 3690,
                                        "end": 3708,
                                        "loc": {
                                          "start": {
                                            "line": 79,
                                            "column": 62
                                          },
                                          "end": {
                                            "line": 79,
                                            "column": 80
                                          }
                                        },
                                        "name": "polygonOffsetUnits"
                                      },
                                      "value": {
                                        "type": "UnaryExpression",
                                        "start": 3711,
                                        "end": 3714,
                                        "loc": {
                                          "start": {
                                            "line": 79,
                                            "column": 83
                                          },
                                          "end": {
                                            "line": 79,
                                            "column": 86
                                          }
                                        },
                                        "operator": "-",
                                        "prefix": true,
                                        "argument": {
                                          "type": "Literal",
                                          "start": 3712,
                                          "end": 3714,
                                          "loc": {
                                            "start": {
                                              "line": 79,
                                              "column": 84
                                            },
                                            "end": {
                                              "line": 79,
                                              "column": 86
                                            }
                                          },
                                          "value": 10,
                                          "rawValue": 10,
                                          "raw": "10"
                                        }
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 3732,
                                      "end": 3749,
                                      "loc": {
                                        "start": {
                                          "line": 80,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 33
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 3732,
                                        "end": 3743,
                                        "loc": {
                                          "start": {
                                            "line": 80,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 80,
                                            "column": 27
                                          }
                                        },
                                        "name": "transparent"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 3745,
                                        "end": 3749,
                                        "loc": {
                                          "start": {
                                            "line": 80,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 80,
                                            "column": 33
                                          }
                                        },
                                        "value": true,
                                        "rawValue": true,
                                        "raw": "true"
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 3751,
                                      "end": 3763,
                                      "loc": {
                                        "start": {
                                          "line": 80,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 47
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 3751,
                                        "end": 3758,
                                        "loc": {
                                          "start": {
                                            "line": 80,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 80,
                                            "column": 42
                                          }
                                        },
                                        "name": "opacity"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 3760,
                                        "end": 3763,
                                        "loc": {
                                          "start": {
                                            "line": 80,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 80,
                                            "column": 47
                                          }
                                        },
                                        "value": 0.3,
                                        "rawValue": 0.3,
                                        "raw": "0.3"
                                      },
                                      "kind": "init"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3798,
                      "end": 3840,
                      "loc": {
                        "start": {
                          "line": 83,
                          "column": 8
                        },
                        "end": {
                          "line": 83,
                          "column": 50
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3798,
                        "end": 3839,
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 8
                          },
                          "end": {
                            "line": 83,
                            "column": 49
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3798,
                          "end": 3831,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 8
                            },
                            "end": {
                              "line": 83,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3798,
                            "end": 3823,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 8
                              },
                              "end": {
                                "line": 83,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 3798,
                              "end": 3802,
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 8
                                },
                                "end": {
                                  "line": 83,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3803,
                              "end": 3823,
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 13
                                },
                                "end": {
                                  "line": 83,
                                  "column": 33
                                }
                              },
                              "name": "constraintsSubstrate"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3824,
                            "end": 3831,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 34
                              },
                              "end": {
                                "line": 83,
                                "column": 41
                              }
                            },
                            "name": "visible"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 3834,
                          "end": 3839,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 44
                            },
                            "end": {
                              "line": 83,
                              "column": 49
                            }
                          },
                          "value": false,
                          "rawValue": false,
                          "raw": "false"
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 3852,
              "end": 3909,
              "loc": {
                "start": {
                  "line": 86,
                  "column": 4
                },
                "end": {
                  "line": 88,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3852,
                "end": 3868,
                "loc": {
                  "start": {
                    "line": 86,
                    "column": 4
                  },
                  "end": {
                    "line": 86,
                    "column": 20
                  }
                },
                "name": "finishedUpdating"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 3868,
                "end": 3909,
                "loc": {
                  "start": {
                    "line": 86,
                    "column": 20
                  },
                  "end": {
                    "line": 88,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 3871,
                  "end": 3909,
                  "loc": {
                    "start": {
                      "line": 86,
                      "column": 23
                    },
                    "end": {
                      "line": 88,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3881,
                      "end": 3903,
                      "loc": {
                        "start": {
                          "line": 87,
                          "column": 8
                        },
                        "end": {
                          "line": 87,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3881,
                        "end": 3902,
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 8
                          },
                          "end": {
                            "line": 87,
                            "column": 29
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3881,
                          "end": 3900,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 8
                            },
                            "end": {
                              "line": 87,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3881,
                            "end": 3885,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 8
                              },
                              "end": {
                                "line": 87,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3886,
                            "end": 3900,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 13
                              },
                              "end": {
                                "line": 87,
                                "column": 27
                              }
                            },
                            "name": "updateGeometry"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              }
            }
          ],
          "trailingComments": null
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": "=============================== Sketch.GeometricObject =================================",
            "start": 2110,
            "end": 2200,
            "loc": {
              "start": {
                "line": 53,
                "column": 0
              },
              "end": {
                "line": 53,
                "column": 90
              }
            },
            "range": [
              2110,
              2200
            ]
          },
          {
            "type": "Block",
            "value": "*\n * Each geometric objects has several update functions, here they are:\n * 1. updateGeometry(movedPoint)\n *   must be called after any child point is changed (i.e. line's endpoint or arc's center was moved)\n *   recalculates inner parameters of the geometry (if present, i.e. center, angles)\n * 2. updateSizes(owningView)\n *   must be called after camera or object has changed, and after any geometrical changes\n *   recalculates any required sizing data (i.e. `width` value)\n *   automatically generated by mixinPixelSizedGeometry\n * 3. updateVisualization()\n *   must be called after anything changes, which may influence visible representation of object\n *   updates or rebuilds a THREE.Mesh which visibly represent the object\n * Note that each update function depends on the data obtained from the previous steps.\n *\n * Here is general advice of how to call update functions:\n *   - call updateGeometry directly and only inside controls handlers (when smth is edited)\n *   - do not call other updates directly, just register each object with Sketcher.registerVisualization\n ",
            "start": 2201,
            "end": 3284,
            "loc": {
              "start": {
                "line": 54,
                "column": 0
              },
              "end": {
                "line": 71,
                "column": 3
              }
            },
            "range": [
              2201,
              3284
            ]
          }
        ],
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": "================================ Sketch.Point =========================================",
            "start": 3913,
            "end": 4002,
            "loc": {
              "start": {
                "line": 91,
                "column": 0
              },
              "end": {
                "line": 91,
                "column": 89
              }
            },
            "range": [
              3913,
              4002
            ]
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": "=============================== Sketch.GeometricObject =================================",
          "start": 2110,
          "end": 2200,
          "loc": {
            "start": {
              "line": 53,
              "column": 0
            },
            "end": {
              "line": 53,
              "column": 90
            }
          },
          "range": [
            2110,
            2200
          ]
        },
        {
          "type": "Block",
          "value": "*\n * Each geometric objects has several update functions, here they are:\n * 1. updateGeometry(movedPoint)\n *   must be called after any child point is changed (i.e. line's endpoint or arc's center was moved)\n *   recalculates inner parameters of the geometry (if present, i.e. center, angles)\n * 2. updateSizes(owningView)\n *   must be called after camera or object has changed, and after any geometrical changes\n *   recalculates any required sizing data (i.e. `width` value)\n *   automatically generated by mixinPixelSizedGeometry\n * 3. updateVisualization()\n *   must be called after anything changes, which may influence visible representation of object\n *   updates or rebuilds a THREE.Mesh which visibly represent the object\n * Note that each update function depends on the data obtained from the previous steps.\n *\n * Here is general advice of how to call update functions:\n *   - call updateGeometry directly and only inside controls handlers (when smth is edited)\n *   - do not call other updates directly, just register each object with Sketcher.registerVisualization\n ",
          "start": 2201,
          "end": 3284,
          "loc": {
            "start": {
              "line": 54,
              "column": 0
            },
            "end": {
              "line": 71,
              "column": 3
            }
          },
          "range": [
            2201,
            3284
          ]
        }
      ],
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": "================================ Sketch.Point =========================================",
          "start": 3913,
          "end": 4002,
          "loc": {
            "start": {
              "line": 91,
              "column": 0
            },
            "end": {
              "line": 91,
              "column": 89
            }
          },
          "range": [
            3913,
            4002
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 4003,
      "end": 6512,
      "loc": {
        "start": {
          "line": 92,
          "column": 0
        },
        "end": {
          "line": 183,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 4010,
        "end": 6512,
        "loc": {
          "start": {
            "line": 92,
            "column": 7
          },
          "end": {
            "line": 183,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 4016,
          "end": 4021,
          "loc": {
            "start": {
              "line": 92,
              "column": 13
            },
            "end": {
              "line": 92,
              "column": 18
            }
          },
          "name": "Point",
          "leadingComments": null
        },
        "superClass": {
          "type": "Identifier",
          "start": 4030,
          "end": 4045,
          "loc": {
            "start": {
              "line": 92,
              "column": 27
            },
            "end": {
              "line": 92,
              "column": 42
            }
          },
          "name": "GeometricObject"
        },
        "body": {
          "type": "ClassBody",
          "start": 4046,
          "end": 6512,
          "loc": {
            "start": {
              "line": 92,
              "column": 43
            },
            "end": {
              "line": 183,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 4052,
              "end": 4565,
              "loc": {
                "start": {
                  "line": 93,
                  "column": 4
                },
                "end": {
                  "line": 105,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4052,
                "end": 4063,
                "loc": {
                  "start": {
                    "line": 93,
                    "column": 4
                  },
                  "end": {
                    "line": 93,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 4063,
                "end": 4565,
                "loc": {
                  "start": {
                    "line": 93,
                    "column": 15
                  },
                  "end": {
                    "line": 105,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 4066,
                  "end": 4565,
                  "loc": {
                    "start": {
                      "line": 93,
                      "column": 18
                    },
                    "end": {
                      "line": 105,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 4076,
                      "end": 4084,
                      "loc": {
                        "start": {
                          "line": 94,
                          "column": 8
                        },
                        "end": {
                          "line": 94,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 4076,
                        "end": 4083,
                        "loc": {
                          "start": {
                            "line": 94,
                            "column": 8
                          },
                          "end": {
                            "line": 94,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 4076,
                          "end": 4081,
                          "loc": {
                            "start": {
                              "line": 94,
                              "column": 8
                            },
                            "end": {
                              "line": 94,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4093,
                      "end": 4113,
                      "loc": {
                        "start": {
                          "line": 95,
                          "column": 8
                        },
                        "end": {
                          "line": 95,
                          "column": 28
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4093,
                        "end": 4112,
                        "loc": {
                          "start": {
                            "line": 95,
                            "column": 8
                          },
                          "end": {
                            "line": 95,
                            "column": 27
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4093,
                          "end": 4102,
                          "loc": {
                            "start": {
                              "line": 95,
                              "column": 8
                            },
                            "end": {
                              "line": 95,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4093,
                            "end": 4097,
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 8
                              },
                              "end": {
                                "line": 95,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4098,
                            "end": 4102,
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 13
                              },
                              "end": {
                                "line": 95,
                                "column": 17
                              }
                            },
                            "name": "type"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 4105,
                          "end": 4112,
                          "loc": {
                            "start": {
                              "line": 95,
                              "column": 20
                            },
                            "end": {
                              "line": 95,
                              "column": 27
                            }
                          },
                          "value": "Point",
                          "rawValue": "Point",
                          "raw": "'Point'"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4123,
                      "end": 4395,
                      "loc": {
                        "start": {
                          "line": 97,
                          "column": 8
                        },
                        "end": {
                          "line": 101,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4123,
                        "end": 4394,
                        "loc": {
                          "start": {
                            "line": 97,
                            "column": 8
                          },
                          "end": {
                            "line": 101,
                            "column": 10
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4123,
                          "end": 4132,
                          "loc": {
                            "start": {
                              "line": 97,
                              "column": 8
                            },
                            "end": {
                              "line": 97,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4123,
                            "end": 4127,
                            "loc": {
                              "start": {
                                "line": 97,
                                "column": 8
                              },
                              "end": {
                                "line": 97,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4128,
                            "end": 4132,
                            "loc": {
                              "start": {
                                "line": 97,
                                "column": 13
                              },
                              "end": {
                                "line": 97,
                                "column": 17
                              }
                            },
                            "name": "mesh"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 4135,
                          "end": 4394,
                          "loc": {
                            "start": {
                              "line": 97,
                              "column": 20
                            },
                            "end": {
                              "line": 101,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 4139,
                            "end": 4151,
                            "loc": {
                              "start": {
                                "line": 97,
                                "column": 24
                              },
                              "end": {
                                "line": 97,
                                "column": 36
                              }
                            },
                            "name": "InteractMesh"
                          },
                          "arguments": [
                            {
                              "type": "NewExpression",
                              "start": 4152,
                              "end": 4185,
                              "loc": {
                                "start": {
                                  "line": 97,
                                  "column": 37
                                },
                                "end": {
                                  "line": 97,
                                  "column": 70
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4156,
                                "end": 4176,
                                "loc": {
                                  "start": {
                                    "line": 97,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 97,
                                    "column": 61
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 4156,
                                  "end": 4161,
                                  "loc": {
                                    "start": {
                                      "line": 97,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 97,
                                      "column": 46
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4162,
                                  "end": 4176,
                                  "loc": {
                                    "start": {
                                      "line": 97,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 97,
                                      "column": 61
                                    }
                                  },
                                  "name": "CircleGeometry"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 4177,
                                  "end": 4180,
                                  "loc": {
                                    "start": {
                                      "line": 97,
                                      "column": 62
                                    },
                                    "end": {
                                      "line": 97,
                                      "column": 65
                                    }
                                  },
                                  "value": 0.5,
                                  "rawValue": 0.5,
                                  "raw": "0.5"
                                },
                                {
                                  "type": "Literal",
                                  "start": 4182,
                                  "end": 4184,
                                  "loc": {
                                    "start": {
                                      "line": 97,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 97,
                                      "column": 69
                                    }
                                  },
                                  "value": 32,
                                  "rawValue": 32,
                                  "raw": "32"
                                }
                              ]
                            },
                            {
                              "type": "NewExpression",
                              "start": 4187,
                              "end": 4393,
                              "loc": {
                                "start": {
                                  "line": 97,
                                  "column": 72
                                },
                                "end": {
                                  "line": 101,
                                  "column": 9
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4191,
                                "end": 4214,
                                "loc": {
                                  "start": {
                                    "line": 97,
                                    "column": 76
                                  },
                                  "end": {
                                    "line": 97,
                                    "column": 99
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 4191,
                                  "end": 4196,
                                  "loc": {
                                    "start": {
                                      "line": 97,
                                      "column": 76
                                    },
                                    "end": {
                                      "line": 97,
                                      "column": 81
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4197,
                                  "end": 4214,
                                  "loc": {
                                    "start": {
                                      "line": 97,
                                      "column": 82
                                    },
                                    "end": {
                                      "line": 97,
                                      "column": 99
                                    }
                                  },
                                  "name": "MeshBasicMaterial"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ObjectExpression",
                                  "start": 4228,
                                  "end": 4383,
                                  "loc": {
                                    "start": {
                                      "line": 98,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 100,
                                      "column": 13
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "Property",
                                      "start": 4229,
                                      "end": 4257,
                                      "loc": {
                                        "start": {
                                          "line": 98,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 98,
                                          "column": 41
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 4229,
                                        "end": 4234,
                                        "loc": {
                                          "start": {
                                            "line": 98,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 98,
                                            "column": 18
                                          }
                                        },
                                        "name": "color"
                                      },
                                      "value": {
                                        "type": "CallExpression",
                                        "start": 4236,
                                        "end": 4257,
                                        "loc": {
                                          "start": {
                                            "line": 98,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 98,
                                            "column": 41
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 4236,
                                          "end": 4244,
                                          "loc": {
                                            "start": {
                                              "line": 98,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 98,
                                              "column": 28
                                            }
                                          },
                                          "name": "getColor"
                                        },
                                        "arguments": [
                                          {
                                            "type": "ThisExpression",
                                            "start": 4245,
                                            "end": 4249,
                                            "loc": {
                                              "start": {
                                                "line": 98,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 98,
                                                "column": 33
                                              }
                                            }
                                          },
                                          {
                                            "type": "Literal",
                                            "start": 4251,
                                            "end": 4256,
                                            "loc": {
                                              "start": {
                                                "line": 98,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 98,
                                                "column": 40
                                              }
                                            },
                                            "value": false,
                                            "rawValue": false,
                                            "raw": "false"
                                          }
                                        ]
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 4259,
                                      "end": 4281,
                                      "loc": {
                                        "start": {
                                          "line": 98,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 98,
                                          "column": 65
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 4259,
                                        "end": 4263,
                                        "loc": {
                                          "start": {
                                            "line": 98,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 98,
                                            "column": 47
                                          }
                                        },
                                        "name": "side"
                                      },
                                      "value": {
                                        "type": "MemberExpression",
                                        "start": 4265,
                                        "end": 4281,
                                        "loc": {
                                          "start": {
                                            "line": 98,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 98,
                                            "column": 65
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 4265,
                                          "end": 4270,
                                          "loc": {
                                            "start": {
                                              "line": 98,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 98,
                                              "column": 54
                                            }
                                          },
                                          "name": "THREE"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4271,
                                          "end": 4281,
                                          "loc": {
                                            "start": {
                                              "line": 98,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 98,
                                              "column": 65
                                            }
                                          },
                                          "name": "DoubleSide"
                                        },
                                        "computed": false
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 4299,
                                      "end": 4318,
                                      "loc": {
                                        "start": {
                                          "line": 99,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 99,
                                          "column": 35
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 4299,
                                        "end": 4312,
                                        "loc": {
                                          "start": {
                                            "line": 99,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 99,
                                            "column": 29
                                          }
                                        },
                                        "name": "polygonOffset"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 4314,
                                        "end": 4318,
                                        "loc": {
                                          "start": {
                                            "line": 99,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 99,
                                            "column": 35
                                          }
                                        },
                                        "value": true,
                                        "rawValue": true,
                                        "raw": "true"
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 4320,
                                      "end": 4343,
                                      "loc": {
                                        "start": {
                                          "line": 99,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 99,
                                          "column": 60
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 4320,
                                        "end": 4339,
                                        "loc": {
                                          "start": {
                                            "line": 99,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 99,
                                            "column": 56
                                          }
                                        },
                                        "name": "polygonOffsetFactor"
                                      },
                                      "value": {
                                        "type": "UnaryExpression",
                                        "start": 4341,
                                        "end": 4343,
                                        "loc": {
                                          "start": {
                                            "line": 99,
                                            "column": 58
                                          },
                                          "end": {
                                            "line": 99,
                                            "column": 60
                                          }
                                        },
                                        "operator": "-",
                                        "prefix": true,
                                        "argument": {
                                          "type": "Literal",
                                          "start": 4342,
                                          "end": 4343,
                                          "loc": {
                                            "start": {
                                              "line": 99,
                                              "column": 59
                                            },
                                            "end": {
                                              "line": 99,
                                              "column": 60
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 4345,
                                      "end": 4369,
                                      "loc": {
                                        "start": {
                                          "line": 99,
                                          "column": 62
                                        },
                                        "end": {
                                          "line": 99,
                                          "column": 86
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 4345,
                                        "end": 4363,
                                        "loc": {
                                          "start": {
                                            "line": 99,
                                            "column": 62
                                          },
                                          "end": {
                                            "line": 99,
                                            "column": 80
                                          }
                                        },
                                        "name": "polygonOffsetUnits"
                                      },
                                      "value": {
                                        "type": "UnaryExpression",
                                        "start": 4366,
                                        "end": 4369,
                                        "loc": {
                                          "start": {
                                            "line": 99,
                                            "column": 83
                                          },
                                          "end": {
                                            "line": 99,
                                            "column": 86
                                          }
                                        },
                                        "operator": "-",
                                        "prefix": true,
                                        "argument": {
                                          "type": "Literal",
                                          "start": 4367,
                                          "end": 4369,
                                          "loc": {
                                            "start": {
                                              "line": 99,
                                              "column": 84
                                            },
                                            "end": {
                                              "line": 99,
                                              "column": 86
                                            }
                                          },
                                          "value": 10,
                                          "rawValue": 10,
                                          "raw": "10"
                                        }
                                      },
                                      "kind": "init"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4404,
                      "end": 4430,
                      "loc": {
                        "start": {
                          "line": 102,
                          "column": 8
                        },
                        "end": {
                          "line": 102,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4404,
                        "end": 4429,
                        "loc": {
                          "start": {
                            "line": 102,
                            "column": 8
                          },
                          "end": {
                            "line": 102,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4404,
                          "end": 4417,
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 8
                            },
                            "end": {
                              "line": 102,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4404,
                            "end": 4408,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 8
                              },
                              "end": {
                                "line": 102,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4409,
                            "end": 4417,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 13
                              },
                              "end": {
                                "line": 102,
                                "column": 21
                              }
                            },
                            "name": "interact"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 4420,
                          "end": 4429,
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 24
                            },
                            "end": {
                              "line": 102,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4420,
                            "end": 4424,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 24
                              },
                              "end": {
                                "line": 102,
                                "column": 28
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4425,
                            "end": 4429,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 29
                              },
                              "end": {
                                "line": 102,
                                "column": 33
                              }
                            },
                            "name": "mesh"
                          },
                          "computed": false
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "pseudonym, place your interactions here",
                          "start": 4432,
                          "end": 4473,
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 36
                            },
                            "end": {
                              "line": 102,
                              "column": 77
                            }
                          },
                          "range": [
                            4432,
                            4473
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4482,
                      "end": 4503,
                      "loc": {
                        "start": {
                          "line": 103,
                          "column": 8
                        },
                        "end": {
                          "line": 103,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4482,
                        "end": 4502,
                        "loc": {
                          "start": {
                            "line": 103,
                            "column": 8
                          },
                          "end": {
                            "line": 103,
                            "column": 28
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4482,
                          "end": 4493,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 8
                            },
                            "end": {
                              "line": 103,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4482,
                            "end": 4486,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 8
                              },
                              "end": {
                                "line": 103,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4487,
                            "end": 4493,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 13
                              },
                              "end": {
                                "line": 103,
                                "column": 19
                              }
                            },
                            "name": "points"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 4496,
                          "end": 4502,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 22
                            },
                            "end": {
                              "line": 103,
                              "column": 28
                            }
                          },
                          "elements": [
                            {
                              "type": "ThisExpression",
                              "start": 4497,
                              "end": 4501,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 23
                                },
                                "end": {
                                  "line": 103,
                                  "column": 27
                                }
                              }
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "pseudonym, place your interactions here",
                          "start": 4432,
                          "end": 4473,
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 36
                            },
                            "end": {
                              "line": 102,
                              "column": 77
                            }
                          },
                          "range": [
                            4432,
                            4473
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4512,
                      "end": 4559,
                      "loc": {
                        "start": {
                          "line": 104,
                          "column": 8
                        },
                        "end": {
                          "line": 104,
                          "column": 55
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 4512,
                        "end": 4558,
                        "loc": {
                          "start": {
                            "line": 104,
                            "column": 8
                          },
                          "end": {
                            "line": 104,
                            "column": 54
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4512,
                          "end": 4520,
                          "loc": {
                            "start": {
                              "line": 104,
                              "column": 8
                            },
                            "end": {
                              "line": 104,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4512,
                            "end": 4516,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 8
                              },
                              "end": {
                                "line": 104,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4517,
                            "end": 4520,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 13
                              },
                              "end": {
                                "line": 104,
                                "column": 16
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 4521,
                            "end": 4530,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 17
                              },
                              "end": {
                                "line": 104,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 4521,
                              "end": 4525,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 17
                                },
                                "end": {
                                  "line": 104,
                                  "column": 21
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4526,
                              "end": 4530,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 22
                                },
                                "end": {
                                  "line": 104,
                                  "column": 26
                                }
                              },
                              "name": "mesh"
                            },
                            "computed": false
                          },
                          {
                            "type": "MemberExpression",
                            "start": 4532,
                            "end": 4557,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 28
                              },
                              "end": {
                                "line": 104,
                                "column": 53
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 4532,
                              "end": 4536,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 28
                                },
                                "end": {
                                  "line": 104,
                                  "column": 32
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4537,
                              "end": 4557,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 33
                                },
                                "end": {
                                  "line": 104,
                                  "column": 53
                                }
                              },
                              "name": "constraintsSubstrate"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 4571,
              "end": 4708,
              "loc": {
                "start": {
                  "line": 107,
                  "column": 4
                },
                "end": {
                  "line": 111,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4577,
                "end": 4581,
                "loc": {
                  "start": {
                    "line": 107,
                    "column": 10
                  },
                  "end": {
                    "line": 107,
                    "column": 14
                  }
                },
                "name": "move"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 4581,
                "end": 4708,
                "loc": {
                  "start": {
                    "line": 107,
                    "column": 14
                  },
                  "end": {
                    "line": 111,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 4582,
                    "end": 4590,
                    "loc": {
                      "start": {
                        "line": 107,
                        "column": 15
                      },
                      "end": {
                        "line": 107,
                        "column": 23
                      }
                    },
                    "name": "position"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 4592,
                  "end": 4708,
                  "loc": {
                    "start": {
                      "line": 107,
                      "column": 25
                    },
                    "end": {
                      "line": 111,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 4602,
                      "end": 4631,
                      "loc": {
                        "start": {
                          "line": 108,
                          "column": 8
                        },
                        "end": {
                          "line": 108,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 4602,
                        "end": 4630,
                        "loc": {
                          "start": {
                            "line": 108,
                            "column": 8
                          },
                          "end": {
                            "line": 108,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4602,
                          "end": 4620,
                          "loc": {
                            "start": {
                              "line": 108,
                              "column": 8
                            },
                            "end": {
                              "line": 108,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 4602,
                            "end": 4615,
                            "loc": {
                              "start": {
                                "line": 108,
                                "column": 8
                              },
                              "end": {
                                "line": 108,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 4602,
                              "end": 4606,
                              "loc": {
                                "start": {
                                  "line": 108,
                                  "column": 8
                                },
                                "end": {
                                  "line": 108,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4607,
                              "end": 4615,
                              "loc": {
                                "start": {
                                  "line": 108,
                                  "column": 13
                                },
                                "end": {
                                  "line": 108,
                                  "column": 21
                                }
                              },
                              "name": "position"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4616,
                            "end": 4620,
                            "loc": {
                              "start": {
                                "line": 108,
                                "column": 22
                              },
                              "end": {
                                "line": 108,
                                "column": 26
                              }
                            },
                            "name": "copy"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 4621,
                            "end": 4629,
                            "loc": {
                              "start": {
                                "line": 108,
                                "column": 27
                              },
                              "end": {
                                "line": 108,
                                "column": 35
                              }
                            },
                            "name": "position"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4640,
                      "end": 4671,
                      "loc": {
                        "start": {
                          "line": 109,
                          "column": 8
                        },
                        "end": {
                          "line": 109,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 4640,
                        "end": 4670,
                        "loc": {
                          "start": {
                            "line": 109,
                            "column": 8
                          },
                          "end": {
                            "line": 109,
                            "column": 38
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 4646,
                          "end": 4670,
                          "loc": {
                            "start": {
                              "line": 109,
                              "column": 14
                            },
                            "end": {
                              "line": 109,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4646,
                            "end": 4655,
                            "loc": {
                              "start": {
                                "line": 109,
                                "column": 14
                              },
                              "end": {
                                "line": 109,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 4646,
                              "end": 4650,
                              "loc": {
                                "start": {
                                  "line": 109,
                                  "column": 14
                                },
                                "end": {
                                  "line": 109,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4651,
                              "end": 4655,
                              "loc": {
                                "start": {
                                  "line": 109,
                                  "column": 19
                                },
                                "end": {
                                  "line": 109,
                                  "column": 23
                                }
                              },
                              "name": "emit"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 4656,
                              "end": 4663,
                              "loc": {
                                "start": {
                                  "line": 109,
                                  "column": 24
                                },
                                "end": {
                                  "line": 109,
                                  "column": 31
                                }
                              },
                              "value": "moved",
                              "rawValue": "moved",
                              "raw": "'moved'"
                            },
                            {
                              "type": "ThisExpression",
                              "start": 4665,
                              "end": 4669,
                              "loc": {
                                "start": {
                                  "line": 109,
                                  "column": 33
                                },
                                "end": {
                                  "line": 109,
                                  "column": 37
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4680,
                      "end": 4702,
                      "loc": {
                        "start": {
                          "line": 110,
                          "column": 8
                        },
                        "end": {
                          "line": 110,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 4680,
                        "end": 4701,
                        "loc": {
                          "start": {
                            "line": 110,
                            "column": 8
                          },
                          "end": {
                            "line": 110,
                            "column": 29
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4680,
                          "end": 4699,
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 8
                            },
                            "end": {
                              "line": 110,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4680,
                            "end": 4684,
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 8
                              },
                              "end": {
                                "line": 110,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4685,
                            "end": 4699,
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 13
                              },
                              "end": {
                                "line": 110,
                                "column": 27
                              }
                            },
                            "name": "updateGeometry"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 4714,
              "end": 4860,
              "loc": {
                "start": {
                  "line": 113,
                  "column": 4
                },
                "end": {
                  "line": 117,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4720,
                "end": 4732,
                "loc": {
                  "start": {
                    "line": 113,
                    "column": 10
                  },
                  "end": {
                    "line": 113,
                    "column": 22
                  }
                },
                "name": "moveRelative"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 4732,
                "end": 4860,
                "loc": {
                  "start": {
                    "line": 113,
                    "column": 22
                  },
                  "end": {
                    "line": 117,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 4733,
                    "end": 4742,
                    "loc": {
                      "start": {
                        "line": 113,
                        "column": 23
                      },
                      "end": {
                        "line": 113,
                        "column": 32
                      }
                    },
                    "name": "direction"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 4744,
                  "end": 4860,
                  "loc": {
                    "start": {
                      "line": 113,
                      "column": 34
                    },
                    "end": {
                      "line": 117,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 4754,
                      "end": 4783,
                      "loc": {
                        "start": {
                          "line": 114,
                          "column": 8
                        },
                        "end": {
                          "line": 114,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 4754,
                        "end": 4782,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 8
                          },
                          "end": {
                            "line": 114,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4754,
                          "end": 4771,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 8
                            },
                            "end": {
                              "line": 114,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 4754,
                            "end": 4767,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 8
                              },
                              "end": {
                                "line": 114,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 4754,
                              "end": 4758,
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 8
                                },
                                "end": {
                                  "line": 114,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4759,
                              "end": 4767,
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 13
                                },
                                "end": {
                                  "line": 114,
                                  "column": 21
                                }
                              },
                              "name": "position"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4768,
                            "end": 4771,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 22
                              },
                              "end": {
                                "line": 114,
                                "column": 25
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 4772,
                            "end": 4781,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 26
                              },
                              "end": {
                                "line": 114,
                                "column": 35
                              }
                            },
                            "name": "direction"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4792,
                      "end": 4823,
                      "loc": {
                        "start": {
                          "line": 115,
                          "column": 8
                        },
                        "end": {
                          "line": 115,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 4792,
                        "end": 4822,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 8
                          },
                          "end": {
                            "line": 115,
                            "column": 38
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 4798,
                          "end": 4822,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 14
                            },
                            "end": {
                              "line": 115,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4798,
                            "end": 4807,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 14
                              },
                              "end": {
                                "line": 115,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 4798,
                              "end": 4802,
                              "loc": {
                                "start": {
                                  "line": 115,
                                  "column": 14
                                },
                                "end": {
                                  "line": 115,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4803,
                              "end": 4807,
                              "loc": {
                                "start": {
                                  "line": 115,
                                  "column": 19
                                },
                                "end": {
                                  "line": 115,
                                  "column": 23
                                }
                              },
                              "name": "emit"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 4808,
                              "end": 4815,
                              "loc": {
                                "start": {
                                  "line": 115,
                                  "column": 24
                                },
                                "end": {
                                  "line": 115,
                                  "column": 31
                                }
                              },
                              "value": "moved",
                              "rawValue": "moved",
                              "raw": "'moved'"
                            },
                            {
                              "type": "ThisExpression",
                              "start": 4817,
                              "end": 4821,
                              "loc": {
                                "start": {
                                  "line": 115,
                                  "column": 33
                                },
                                "end": {
                                  "line": 115,
                                  "column": 37
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4832,
                      "end": 4854,
                      "loc": {
                        "start": {
                          "line": 116,
                          "column": 8
                        },
                        "end": {
                          "line": 116,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 4832,
                        "end": 4853,
                        "loc": {
                          "start": {
                            "line": 116,
                            "column": 8
                          },
                          "end": {
                            "line": 116,
                            "column": 29
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4832,
                          "end": 4851,
                          "loc": {
                            "start": {
                              "line": 116,
                              "column": 8
                            },
                            "end": {
                              "line": 116,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4832,
                            "end": 4836,
                            "loc": {
                              "start": {
                                "line": 116,
                                "column": 8
                              },
                              "end": {
                                "line": 116,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4837,
                            "end": 4851,
                            "loc": {
                              "start": {
                                "line": 116,
                                "column": 13
                              },
                              "end": {
                                "line": 116,
                                "column": 27
                              }
                            },
                            "name": "updateGeometry"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 4866,
              "end": 5111,
              "loc": {
                "start": {
                  "line": 119,
                  "column": 4
                },
                "end": {
                  "line": 125,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4872,
                "end": 4879,
                "loc": {
                  "start": {
                    "line": 119,
                    "column": 10
                  },
                  "end": {
                    "line": 119,
                    "column": 17
                  }
                },
                "name": "endDrag"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 4879,
                "end": 5111,
                "loc": {
                  "start": {
                    "line": 119,
                    "column": 17
                  },
                  "end": {
                    "line": 125,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 4880,
                    "end": 4886,
                    "loc": {
                      "start": {
                        "line": 119,
                        "column": 18
                      },
                      "end": {
                        "line": 119,
                        "column": 24
                      }
                    },
                    "name": "sketch"
                  },
                  {
                    "type": "Identifier",
                    "start": 4888,
                    "end": 4894,
                    "loc": {
                      "start": {
                        "line": 119,
                        "column": 26
                      },
                      "end": {
                        "line": 119,
                        "column": 32
                      }
                    },
                    "name": "server"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 4896,
                  "end": 5111,
                  "loc": {
                    "start": {
                      "line": 119,
                      "column": 34
                    },
                    "end": {
                      "line": 125,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 4906,
                      "end": 5053,
                      "loc": {
                        "start": {
                          "line": 120,
                          "column": 8
                        },
                        "end": {
                          "line": 123,
                          "column": 15
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 4910,
                        "end": 4933,
                        "loc": {
                          "start": {
                            "line": 120,
                            "column": 12
                          },
                          "end": {
                            "line": 120,
                            "column": 35
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4910,
                          "end": 4927,
                          "loc": {
                            "start": {
                              "line": 120,
                              "column": 12
                            },
                            "end": {
                              "line": 120,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 4910,
                            "end": 4916,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 12
                              },
                              "end": {
                                "line": 120,
                                "column": 18
                              }
                            },
                            "name": "sketch"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4917,
                            "end": 4927,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 19
                              },
                              "end": {
                                "line": 120,
                                "column": 29
                              }
                            },
                            "name": "isOnSketch"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 4928,
                            "end": 4932,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 30
                              },
                              "end": {
                                "line": 120,
                                "column": 34
                              }
                            }
                          }
                        ]
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 4947,
                        "end": 5053,
                        "loc": {
                          "start": {
                            "line": 121,
                            "column": 12
                          },
                          "end": {
                            "line": 123,
                            "column": 15
                          }
                        },
                        "expression": {
                          "type": "AwaitExpression",
                          "start": 4947,
                          "end": 5052,
                          "loc": {
                            "start": {
                              "line": 121,
                              "column": 12
                            },
                            "end": {
                              "line": 123,
                              "column": 14
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 4953,
                            "end": 5052,
                            "loc": {
                              "start": {
                                "line": 121,
                                "column": 18
                              },
                              "end": {
                                "line": 123,
                                "column": 14
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 4953,
                              "end": 4976,
                              "loc": {
                                "start": {
                                  "line": 121,
                                  "column": 18
                                },
                                "end": {
                                  "line": 121,
                                  "column": 41
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 4953,
                                "end": 4959,
                                "loc": {
                                  "start": {
                                    "line": 121,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 121,
                                    "column": 24
                                  }
                                },
                                "name": "sketch"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4960,
                                "end": 4976,
                                "loc": {
                                  "start": {
                                    "line": 121,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 121,
                                    "column": 41
                                  }
                                },
                                "name": "updateFromServer"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 4977,
                                "end": 4983,
                                "loc": {
                                  "start": {
                                    "line": 121,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 121,
                                    "column": 48
                                  }
                                },
                                "name": "server"
                              },
                              {
                                "type": "ArrayExpression",
                                "start": 4985,
                                "end": 5051,
                                "loc": {
                                  "start": {
                                    "line": 121,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 123,
                                    "column": 13
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "CallExpression",
                                    "start": 5003,
                                    "end": 5037,
                                    "loc": {
                                      "start": {
                                        "line": 122,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 122,
                                        "column": 50
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 5003,
                                      "end": 5029,
                                      "loc": {
                                        "start": {
                                          "line": 122,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 122,
                                          "column": 42
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 5003,
                                        "end": 5007,
                                        "loc": {
                                          "start": {
                                            "line": 122,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 122,
                                            "column": 20
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 5008,
                                        "end": 5029,
                                        "loc": {
                                          "start": {
                                            "line": 122,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 122,
                                            "column": 42
                                          }
                                        },
                                        "name": "prepareUpdateToServer"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 5030,
                                        "end": 5036,
                                        "loc": {
                                          "start": {
                                            "line": 122,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 122,
                                            "column": 49
                                          }
                                        },
                                        "name": "sketch"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5062,
                      "end": 5105,
                      "loc": {
                        "start": {
                          "line": 124,
                          "column": 8
                        },
                        "end": {
                          "line": 124,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 5062,
                        "end": 5104,
                        "loc": {
                          "start": {
                            "line": 124,
                            "column": 8
                          },
                          "end": {
                            "line": 124,
                            "column": 50
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 5068,
                          "end": 5104,
                          "loc": {
                            "start": {
                              "line": 124,
                              "column": 14
                            },
                            "end": {
                              "line": 124,
                              "column": 50
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5068,
                            "end": 5077,
                            "loc": {
                              "start": {
                                "line": 124,
                                "column": 14
                              },
                              "end": {
                                "line": 124,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5068,
                              "end": 5072,
                              "loc": {
                                "start": {
                                  "line": 124,
                                  "column": 14
                                },
                                "end": {
                                  "line": 124,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5073,
                              "end": 5077,
                              "loc": {
                                "start": {
                                  "line": 124,
                                  "column": 19
                                },
                                "end": {
                                  "line": 124,
                                  "column": 23
                                }
                              },
                              "name": "emit"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 5078,
                              "end": 5087,
                              "loc": {
                                "start": {
                                  "line": 124,
                                  "column": 24
                                },
                                "end": {
                                  "line": 124,
                                  "column": 33
                                }
                              },
                              "value": "dragend",
                              "rawValue": "dragend",
                              "raw": "'dragend'"
                            },
                            {
                              "type": "Identifier",
                              "start": 5089,
                              "end": 5095,
                              "loc": {
                                "start": {
                                  "line": 124,
                                  "column": 35
                                },
                                "end": {
                                  "line": 124,
                                  "column": 41
                                }
                              },
                              "name": "sketch"
                            },
                            {
                              "type": "Identifier",
                              "start": 5097,
                              "end": 5103,
                              "loc": {
                                "start": {
                                  "line": 124,
                                  "column": 43
                                },
                                "end": {
                                  "line": 124,
                                  "column": 49
                                }
                              },
                              "name": "server"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5117,
              "end": 5196,
              "loc": {
                "start": {
                  "line": 127,
                  "column": 4
                },
                "end": {
                  "line": 129,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5117,
                "end": 5127,
                "loc": {
                  "start": {
                    "line": 127,
                    "column": 4
                  },
                  "end": {
                    "line": 127,
                    "column": 14
                  }
                },
                "name": "setVisible"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5127,
                "end": 5196,
                "loc": {
                  "start": {
                    "line": 127,
                    "column": 14
                  },
                  "end": {
                    "line": 129,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5128,
                    "end": 5138,
                    "loc": {
                      "start": {
                        "line": 127,
                        "column": 15
                      },
                      "end": {
                        "line": 127,
                        "column": 25
                      }
                    },
                    "name": "visibility"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5140,
                  "end": 5196,
                  "loc": {
                    "start": {
                      "line": 127,
                      "column": 27
                    },
                    "end": {
                      "line": 129,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5150,
                      "end": 5190,
                      "loc": {
                        "start": {
                          "line": 128,
                          "column": 8
                        },
                        "end": {
                          "line": 128,
                          "column": 48
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5150,
                        "end": 5189,
                        "loc": {
                          "start": {
                            "line": 128,
                            "column": 8
                          },
                          "end": {
                            "line": 128,
                            "column": 47
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5150,
                          "end": 5176,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 8
                            },
                            "end": {
                              "line": 128,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5150,
                            "end": 5168,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 8
                              },
                              "end": {
                                "line": 128,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 5150,
                              "end": 5159,
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 8
                                },
                                "end": {
                                  "line": 128,
                                  "column": 17
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 5150,
                                "end": 5154,
                                "loc": {
                                  "start": {
                                    "line": 128,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 128,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5155,
                                "end": 5159,
                                "loc": {
                                  "start": {
                                    "line": 128,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 128,
                                    "column": 17
                                  }
                                },
                                "name": "mesh"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5160,
                              "end": 5168,
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 18
                                },
                                "end": {
                                  "line": 128,
                                  "column": 26
                                }
                              },
                              "name": "material"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5169,
                            "end": 5176,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 27
                              },
                              "end": {
                                "line": 128,
                                "column": 34
                              }
                            },
                            "name": "visible"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 5179,
                          "end": 5189,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 37
                            },
                            "end": {
                              "line": 128,
                              "column": 47
                            }
                          },
                          "name": "visibility"
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5202,
              "end": 5221,
              "loc": {
                "start": {
                  "line": 131,
                  "column": 4
                },
                "end": {
                  "line": 131,
                  "column": 23
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5202,
                "end": 5216,
                "loc": {
                  "start": {
                    "line": 131,
                    "column": 4
                  },
                  "end": {
                    "line": 131,
                    "column": 18
                  }
                },
                "name": "updateGeometry"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5216,
                "end": 5221,
                "loc": {
                  "start": {
                    "line": 131,
                    "column": 18
                  },
                  "end": {
                    "line": 131,
                    "column": 23
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 5219,
                  "end": 5221,
                  "loc": {
                    "start": {
                      "line": 131,
                      "column": 21
                    },
                    "end": {
                      "line": 131,
                      "column": 23
                    }
                  },
                  "body": []
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5227,
              "end": 5266,
              "loc": {
                "start": {
                  "line": 133,
                  "column": 4
                },
                "end": {
                  "line": 133,
                  "column": 43
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5227,
                "end": 5247,
                "loc": {
                  "start": {
                    "line": 133,
                    "column": 4
                  },
                  "end": {
                    "line": 133,
                    "column": 24
                  }
                },
                "name": "getAuxiliaryGeometry"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5247,
                "end": 5266,
                "loc": {
                  "start": {
                    "line": 133,
                    "column": 24
                  },
                  "end": {
                    "line": 133,
                    "column": 43
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 5250,
                  "end": 5266,
                  "loc": {
                    "start": {
                      "line": 133,
                      "column": 27
                    },
                    "end": {
                      "line": 133,
                      "column": 43
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 5252,
                      "end": 5264,
                      "loc": {
                        "start": {
                          "line": 133,
                          "column": 29
                        },
                        "end": {
                          "line": 133,
                          "column": 41
                        }
                      },
                      "argument": {
                        "type": "Literal",
                        "start": 5259,
                        "end": 5263,
                        "loc": {
                          "start": {
                            "line": 133,
                            "column": 36
                          },
                          "end": {
                            "line": 133,
                            "column": 40
                          }
                        },
                        "value": null,
                        "rawValue": null,
                        "raw": "null"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5272,
              "end": 5301,
              "loc": {
                "start": {
                  "line": 135,
                  "column": 4
                },
                "end": {
                  "line": 135,
                  "column": 33
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5272,
                "end": 5295,
                "loc": {
                  "start": {
                    "line": 135,
                    "column": 4
                  },
                  "end": {
                    "line": 135,
                    "column": 27
                  }
                },
                "name": "updateAuxiliaryGeometry"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5295,
                "end": 5301,
                "loc": {
                  "start": {
                    "line": 135,
                    "column": 27
                  },
                  "end": {
                    "line": 135,
                    "column": 33
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 5298,
                  "end": 5301,
                  "loc": {
                    "start": {
                      "line": 135,
                      "column": 30
                    },
                    "end": {
                      "line": 135,
                      "column": 33
                    }
                  },
                  "body": [],
                  "leadingComments": null,
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "required method for updateSizes",
                  "start": 5307,
                  "end": 5340,
                  "loc": {
                    "start": {
                      "line": 137,
                      "column": 4
                    },
                    "end": {
                      "line": 137,
                      "column": 37
                    }
                  },
                  "range": [
                    5307,
                    5340
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 5345,
              "end": 5546,
              "loc": {
                "start": {
                  "line": 138,
                  "column": 4
                },
                "end": {
                  "line": 143,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5345,
                "end": 5357,
                "loc": {
                  "start": {
                    "line": 138,
                    "column": 4
                  },
                  "end": {
                    "line": 138,
                    "column": 16
                  }
                },
                "name": "setGeomSizes",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5357,
                "end": 5546,
                "loc": {
                  "start": {
                    "line": 138,
                    "column": 16
                  },
                  "end": {
                    "line": 143,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5358,
                    "end": 5363,
                    "loc": {
                      "start": {
                        "line": 138,
                        "column": 17
                      },
                      "end": {
                        "line": 138,
                        "column": 22
                      }
                    },
                    "name": "sizes"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5365,
                  "end": 5546,
                  "loc": {
                    "start": {
                      "line": 138,
                      "column": 24
                    },
                    "end": {
                      "line": 143,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 5375,
                      "end": 5392,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 8
                        },
                        "end": {
                          "line": 139,
                          "column": 25
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 5379,
                          "end": 5391,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 12
                            },
                            "end": {
                              "line": 139,
                              "column": 24
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 5379,
                            "end": 5380,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 12
                              },
                              "end": {
                                "line": 139,
                                "column": 13
                              }
                            },
                            "name": "s"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 5383,
                            "end": 5391,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 16
                              },
                              "end": {
                                "line": 139,
                                "column": 24
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5383,
                              "end": 5388,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 16
                                },
                                "end": {
                                  "line": 139,
                                  "column": 21
                                }
                              },
                              "name": "sizes"
                            },
                            "property": {
                              "type": "Literal",
                              "start": 5389,
                              "end": 5390,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 22
                                },
                                "end": {
                                  "line": 139,
                                  "column": 23
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "computed": true
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5401,
                      "end": 5430,
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 8
                        },
                        "end": {
                          "line": 140,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5401,
                        "end": 5429,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 8
                          },
                          "end": {
                            "line": 140,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5401,
                          "end": 5420,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 8
                            },
                            "end": {
                              "line": 140,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5401,
                            "end": 5416,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 8
                              },
                              "end": {
                                "line": 140,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 5401,
                              "end": 5410,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 8
                                },
                                "end": {
                                  "line": 140,
                                  "column": 17
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 5401,
                                "end": 5405,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5406,
                                "end": 5410,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 17
                                  }
                                },
                                "name": "mesh"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5411,
                              "end": 5416,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 18
                                },
                                "end": {
                                  "line": 140,
                                  "column": 23
                                }
                              },
                              "name": "scale"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5417,
                            "end": 5420,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 24
                              },
                              "end": {
                                "line": 140,
                                "column": 27
                              }
                            },
                            "name": "set"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 5421,
                            "end": 5422,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 28
                              },
                              "end": {
                                "line": 140,
                                "column": 29
                              }
                            },
                            "name": "s"
                          },
                          {
                            "type": "Identifier",
                            "start": 5424,
                            "end": 5425,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 31
                              },
                              "end": {
                                "line": 140,
                                "column": 32
                              }
                            },
                            "name": "s"
                          },
                          {
                            "type": "Identifier",
                            "start": 5427,
                            "end": 5428,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 34
                              },
                              "end": {
                                "line": 140,
                                "column": 35
                              }
                            },
                            "name": "s"
                          }
                        ]
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 5439,
                      "end": 5540,
                      "loc": {
                        "start": {
                          "line": 141,
                          "column": 8
                        },
                        "end": {
                          "line": 142,
                          "column": 62
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 5443,
                        "end": 5476,
                        "loc": {
                          "start": {
                            "line": 141,
                            "column": 12
                          },
                          "end": {
                            "line": 141,
                            "column": 45
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 5443,
                          "end": 5468,
                          "loc": {
                            "start": {
                              "line": 141,
                              "column": 12
                            },
                            "end": {
                              "line": 141,
                              "column": 37
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5443,
                            "end": 5447,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 12
                              },
                              "end": {
                                "line": 141,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5448,
                            "end": 5468,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 17
                              },
                              "end": {
                                "line": 141,
                                "column": 37
                              }
                            },
                            "name": "constraintsSubstrate"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5469,
                          "end": 5476,
                          "loc": {
                            "start": {
                              "line": 141,
                              "column": 38
                            },
                            "end": {
                              "line": 141,
                              "column": 45
                            }
                          },
                          "name": "visible"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 5490,
                        "end": 5540,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 12
                          },
                          "end": {
                            "line": 142,
                            "column": 62
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 5490,
                          "end": 5539,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 12
                            },
                            "end": {
                              "line": 142,
                              "column": 61
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5490,
                            "end": 5533,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 12
                              },
                              "end": {
                                "line": 142,
                                "column": 55
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 5490,
                              "end": 5515,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 12
                                },
                                "end": {
                                  "line": 142,
                                  "column": 37
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 5490,
                                "end": 5509,
                                "loc": {
                                  "start": {
                                    "line": 142,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 142,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 5490,
                                  "end": 5496,
                                  "loc": {
                                    "start": {
                                      "line": 142,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 142,
                                      "column": 18
                                    }
                                  },
                                  "name": "Sketch"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5497,
                                  "end": 5509,
                                  "loc": {
                                    "start": {
                                      "line": 142,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 142,
                                      "column": 31
                                    }
                                  },
                                  "name": "FindSketchOf"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ThisExpression",
                                  "start": 5510,
                                  "end": 5514,
                                  "loc": {
                                    "start": {
                                      "line": 142,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 142,
                                      "column": 36
                                    }
                                  }
                                }
                              ]
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5516,
                              "end": 5533,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 38
                                },
                                "end": {
                                  "line": 142,
                                  "column": 55
                                }
                              },
                              "name": "updateConstraints"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 5534,
                              "end": 5538,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 56
                                },
                                "end": {
                                  "line": 142,
                                  "column": 60
                                }
                              }
                            }
                          ]
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "required method for updateSizes",
                  "start": 5307,
                  "end": 5340,
                  "loc": {
                    "start": {
                      "line": 137,
                      "column": 4
                    },
                    "end": {
                      "line": 137,
                      "column": 37
                    }
                  },
                  "range": [
                    5307,
                    5340
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 5552,
              "end": 5682,
              "loc": {
                "start": {
                  "line": 145,
                  "column": 4
                },
                "end": {
                  "line": 148,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5552,
                "end": 5572,
                "loc": {
                  "start": {
                    "line": 145,
                    "column": 4
                  },
                  "end": {
                    "line": 145,
                    "column": 24
                  }
                },
                "name": "getSubstratePosition"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5572,
                "end": 5682,
                "loc": {
                  "start": {
                    "line": 145,
                    "column": 24
                  },
                  "end": {
                    "line": 148,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5573,
                    "end": 5576,
                    "loc": {
                      "start": {
                        "line": 145,
                        "column": 25
                      },
                      "end": {
                        "line": 145,
                        "column": 28
                      }
                    },
                    "name": "len"
                  },
                  {
                    "type": "Identifier",
                    "start": 5578,
                    "end": 5582,
                    "loc": {
                      "start": {
                        "line": 145,
                        "column": 30
                      },
                      "end": {
                        "line": 145,
                        "column": 34
                      }
                    },
                    "name": "size"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5584,
                  "end": 5682,
                  "loc": {
                    "start": {
                      "line": 145,
                      "column": 36
                    },
                    "end": {
                      "line": 148,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 5594,
                      "end": 5656,
                      "loc": {
                        "start": {
                          "line": 146,
                          "column": 8
                        },
                        "end": {
                          "line": 146,
                          "column": 70
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 5598,
                          "end": 5655,
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 12
                            },
                            "end": {
                              "line": 146,
                              "column": 69
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 5598,
                            "end": 5601,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 12
                              },
                              "end": {
                                "line": 146,
                                "column": 15
                              }
                            },
                            "name": "pos"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 5604,
                            "end": 5655,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 18
                              },
                              "end": {
                                "line": 146,
                                "column": 69
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 5608,
                              "end": 5621,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 22
                                },
                                "end": {
                                  "line": 146,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5608,
                                "end": 5613,
                                "loc": {
                                  "start": {
                                    "line": 146,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 146,
                                    "column": 27
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5614,
                                "end": 5621,
                                "loc": {
                                  "start": {
                                    "line": 146,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 146,
                                    "column": 35
                                  }
                                },
                                "name": "Vector3"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "BinaryExpression",
                                "start": 5622,
                                "end": 5636,
                                "loc": {
                                  "start": {
                                    "line": 146,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 146,
                                    "column": 50
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 5622,
                                  "end": 5629,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 43
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 5622,
                                    "end": 5625,
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 39
                                      }
                                    },
                                    "name": "len"
                                  },
                                  "operator": "/",
                                  "right": {
                                    "type": "Literal",
                                    "start": 5628,
                                    "end": 5629,
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 43
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "+",
                                "right": {
                                  "type": "Identifier",
                                  "start": 5632,
                                  "end": 5636,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 50
                                    }
                                  },
                                  "name": "size"
                                }
                              },
                              {
                                "type": "BinaryExpression",
                                "start": 5638,
                                "end": 5651,
                                "loc": {
                                  "start": {
                                    "line": 146,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 146,
                                    "column": 65
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 5638,
                                  "end": 5644,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 58
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 5638,
                                    "end": 5642,
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 56
                                      }
                                    },
                                    "name": "size"
                                  },
                                  "operator": "/",
                                  "right": {
                                    "type": "Literal",
                                    "start": 5643,
                                    "end": 5644,
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 58
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "+",
                                "right": {
                                  "type": "Identifier",
                                  "start": 5647,
                                  "end": 5651,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 65
                                    }
                                  },
                                  "name": "size"
                                }
                              },
                              {
                                "type": "Literal",
                                "start": 5653,
                                "end": 5654,
                                "loc": {
                                  "start": {
                                    "line": 146,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 146,
                                    "column": 68
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 5665,
                      "end": 5676,
                      "loc": {
                        "start": {
                          "line": 147,
                          "column": 8
                        },
                        "end": {
                          "line": 147,
                          "column": 19
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 5672,
                        "end": 5675,
                        "loc": {
                          "start": {
                            "line": 147,
                            "column": 15
                          },
                          "end": {
                            "line": 147,
                            "column": 18
                          }
                        },
                        "name": "pos"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5688,
              "end": 5780,
              "loc": {
                "start": {
                  "line": 150,
                  "column": 4
                },
                "end": {
                  "line": 152,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5688,
                "end": 5696,
                "loc": {
                  "start": {
                    "line": 150,
                    "column": 4
                  },
                  "end": {
                    "line": 150,
                    "column": 12
                  }
                },
                "name": "getState"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5696,
                "end": 5780,
                "loc": {
                  "start": {
                    "line": 150,
                    "column": 12
                  },
                  "end": {
                    "line": 152,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 5699,
                  "end": 5780,
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 15
                    },
                    "end": {
                      "line": 152,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 5709,
                      "end": 5774,
                      "loc": {
                        "start": {
                          "line": 151,
                          "column": 8
                        },
                        "end": {
                          "line": 151,
                          "column": 73
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 5716,
                        "end": 5773,
                        "loc": {
                          "start": {
                            "line": 151,
                            "column": 15
                          },
                          "end": {
                            "line": 151,
                            "column": 72
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 5720,
                          "end": 5723,
                          "loc": {
                            "start": {
                              "line": 151,
                              "column": 19
                            },
                            "end": {
                              "line": 151,
                              "column": 22
                            }
                          },
                          "name": "Map"
                        },
                        "arguments": [
                          {
                            "type": "ArrayExpression",
                            "start": 5724,
                            "end": 5772,
                            "loc": {
                              "start": {
                                "line": 151,
                                "column": 23
                              },
                              "end": {
                                "line": 151,
                                "column": 71
                              }
                            },
                            "elements": [
                              {
                                "type": "ArrayExpression",
                                "start": 5725,
                                "end": 5747,
                                "loc": {
                                  "start": {
                                    "line": 151,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 151,
                                    "column": 46
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 5726,
                                    "end": 5729,
                                    "loc": {
                                      "start": {
                                        "line": 151,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 151,
                                        "column": 28
                                      }
                                    },
                                    "value": "x",
                                    "rawValue": "x",
                                    "raw": "'x'"
                                  },
                                  {
                                    "type": "MemberExpression",
                                    "start": 5731,
                                    "end": 5746,
                                    "loc": {
                                      "start": {
                                        "line": 151,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 151,
                                        "column": 45
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 5731,
                                      "end": 5744,
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 43
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 5731,
                                        "end": 5735,
                                        "loc": {
                                          "start": {
                                            "line": 151,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 151,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 5736,
                                        "end": 5744,
                                        "loc": {
                                          "start": {
                                            "line": 151,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 151,
                                            "column": 43
                                          }
                                        },
                                        "name": "position"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5745,
                                      "end": 5746,
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 45
                                        }
                                      },
                                      "name": "x"
                                    },
                                    "computed": false
                                  }
                                ]
                              },
                              {
                                "type": "ArrayExpression",
                                "start": 5749,
                                "end": 5771,
                                "loc": {
                                  "start": {
                                    "line": 151,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 151,
                                    "column": 70
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 5750,
                                    "end": 5753,
                                    "loc": {
                                      "start": {
                                        "line": 151,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 151,
                                        "column": 52
                                      }
                                    },
                                    "value": "y",
                                    "rawValue": "y",
                                    "raw": "'y'"
                                  },
                                  {
                                    "type": "MemberExpression",
                                    "start": 5755,
                                    "end": 5770,
                                    "loc": {
                                      "start": {
                                        "line": 151,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 151,
                                        "column": 69
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 5755,
                                      "end": 5768,
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 67
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 5755,
                                        "end": 5759,
                                        "loc": {
                                          "start": {
                                            "line": 151,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 151,
                                            "column": 58
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 5760,
                                        "end": 5768,
                                        "loc": {
                                          "start": {
                                            "line": 151,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 151,
                                            "column": 67
                                          }
                                        },
                                        "name": "position"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5769,
                                      "end": 5770,
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 68
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 69
                                        }
                                      },
                                      "name": "y"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5786,
              "end": 5926,
              "loc": {
                "start": {
                  "line": 154,
                  "column": 4
                },
                "end": {
                  "line": 158,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5786,
                "end": 5800,
                "loc": {
                  "start": {
                    "line": 154,
                    "column": 4
                  },
                  "end": {
                    "line": 154,
                    "column": 18
                  }
                },
                "name": "applyStateDiff"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5800,
                "end": 5926,
                "loc": {
                  "start": {
                    "line": 154,
                    "column": 18
                  },
                  "end": {
                    "line": 158,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5801,
                    "end": 5810,
                    "loc": {
                      "start": {
                        "line": 154,
                        "column": 19
                      },
                      "end": {
                        "line": 154,
                        "column": 28
                      }
                    },
                    "name": "stateDiff"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5812,
                  "end": 5926,
                  "loc": {
                    "start": {
                      "line": 154,
                      "column": 30
                    },
                    "end": {
                      "line": 158,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5822,
                      "end": 5920,
                      "loc": {
                        "start": {
                          "line": 155,
                          "column": 8
                        },
                        "end": {
                          "line": 157,
                          "column": 17
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5822,
                        "end": 5919,
                        "loc": {
                          "start": {
                            "line": 155,
                            "column": 8
                          },
                          "end": {
                            "line": 157,
                            "column": 16
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5822,
                          "end": 5839,
                          "loc": {
                            "start": {
                              "line": 155,
                              "column": 8
                            },
                            "end": {
                              "line": 155,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5822,
                            "end": 5831,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 8
                              },
                              "end": {
                                "line": 155,
                                "column": 17
                              }
                            },
                            "name": "stateDiff"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5832,
                            "end": 5839,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 18
                              },
                              "end": {
                                "line": 155,
                                "column": 25
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "FunctionExpression",
                            "start": 5840,
                            "end": 5912,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 26
                              },
                              "end": {
                                "line": 157,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 5849,
                                "end": 5854,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 40
                                  }
                                },
                                "name": "value"
                              },
                              {
                                "type": "Identifier",
                                "start": 5856,
                                "end": 5859,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 45
                                  }
                                },
                                "name": "key"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 5861,
                              "end": 5912,
                              "loc": {
                                "start": {
                                  "line": 155,
                                  "column": 47
                                },
                                "end": {
                                  "line": 157,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 5875,
                                  "end": 5902,
                                  "loc": {
                                    "start": {
                                      "line": 156,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 156,
                                      "column": 39
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 5875,
                                    "end": 5901,
                                    "loc": {
                                      "start": {
                                        "line": 156,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 156,
                                        "column": 38
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 5875,
                                      "end": 5893,
                                      "loc": {
                                        "start": {
                                          "line": 156,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 156,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 5875,
                                        "end": 5888,
                                        "loc": {
                                          "start": {
                                            "line": 156,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 156,
                                            "column": 25
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 5875,
                                          "end": 5879,
                                          "loc": {
                                            "start": {
                                              "line": 156,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 156,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 5880,
                                          "end": 5888,
                                          "loc": {
                                            "start": {
                                              "line": 156,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 156,
                                              "column": 25
                                            }
                                          },
                                          "name": "position"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 5889,
                                        "end": 5892,
                                        "loc": {
                                          "start": {
                                            "line": 156,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 156,
                                            "column": 29
                                          }
                                        },
                                        "name": "key"
                                      },
                                      "computed": true
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "start": 5896,
                                      "end": 5901,
                                      "loc": {
                                        "start": {
                                          "line": 156,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 156,
                                          "column": 38
                                        }
                                      },
                                      "name": "value"
                                    }
                                  }
                                }
                              ]
                            }
                          },
                          {
                            "type": "ThisExpression",
                            "start": 5914,
                            "end": 5918,
                            "loc": {
                              "start": {
                                "line": 157,
                                "column": 11
                              },
                              "end": {
                                "line": 157,
                                "column": 15
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5932,
              "end": 6127,
              "loc": {
                "start": {
                  "line": 160,
                  "column": 4
                },
                "end": {
                  "line": 166,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5932,
                "end": 5944,
                "loc": {
                  "start": {
                    "line": 160,
                    "column": 4
                  },
                  "end": {
                    "line": 160,
                    "column": 16
                  }
                },
                "name": "addStateDiff"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5944,
                "end": 6127,
                "loc": {
                  "start": {
                    "line": 160,
                    "column": 16
                  },
                  "end": {
                    "line": 166,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5945,
                    "end": 5954,
                    "loc": {
                      "start": {
                        "line": 160,
                        "column": 17
                      },
                      "end": {
                        "line": 160,
                        "column": 26
                      }
                    },
                    "name": "stateDiff"
                  },
                  {
                    "type": "Identifier",
                    "start": 5956,
                    "end": 5961,
                    "loc": {
                      "start": {
                        "line": 160,
                        "column": 28
                      },
                      "end": {
                        "line": 160,
                        "column": 33
                      }
                    },
                    "name": "alpha"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5963,
                  "end": 6127,
                  "loc": {
                    "start": {
                      "line": 160,
                      "column": 35
                    },
                    "end": {
                      "line": 166,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 5973,
                      "end": 6004,
                      "loc": {
                        "start": {
                          "line": 161,
                          "column": 8
                        },
                        "end": {
                          "line": 161,
                          "column": 39
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 5977,
                        "end": 5995,
                        "loc": {
                          "start": {
                            "line": 161,
                            "column": 12
                          },
                          "end": {
                            "line": 161,
                            "column": 30
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 5977,
                          "end": 5986,
                          "loc": {
                            "start": {
                              "line": 161,
                              "column": 12
                            },
                            "end": {
                              "line": 161,
                              "column": 21
                            }
                          },
                          "name": "stateDiff"
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 5991,
                          "end": 5995,
                          "loc": {
                            "start": {
                              "line": 161,
                              "column": 26
                            },
                            "end": {
                              "line": 161,
                              "column": 30
                            }
                          },
                          "value": null,
                          "rawValue": null,
                          "raw": "null"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 5997,
                        "end": 6004,
                        "loc": {
                          "start": {
                            "line": 161,
                            "column": 32
                          },
                          "end": {
                            "line": 161,
                            "column": 39
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6014,
                      "end": 6121,
                      "loc": {
                        "start": {
                          "line": 163,
                          "column": 8
                        },
                        "end": {
                          "line": 165,
                          "column": 17
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6014,
                        "end": 6120,
                        "loc": {
                          "start": {
                            "line": 163,
                            "column": 8
                          },
                          "end": {
                            "line": 165,
                            "column": 16
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6014,
                          "end": 6031,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 8
                            },
                            "end": {
                              "line": 163,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 6014,
                            "end": 6023,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 8
                              },
                              "end": {
                                "line": 163,
                                "column": 17
                              }
                            },
                            "name": "stateDiff"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6024,
                            "end": 6031,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 18
                              },
                              "end": {
                                "line": 163,
                                "column": 25
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "FunctionExpression",
                            "start": 6032,
                            "end": 6113,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 26
                              },
                              "end": {
                                "line": 165,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 6041,
                                "end": 6046,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 40
                                  }
                                },
                                "name": "value"
                              },
                              {
                                "type": "Identifier",
                                "start": 6048,
                                "end": 6051,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 45
                                  }
                                },
                                "name": "key"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 6053,
                              "end": 6113,
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 47
                                },
                                "end": {
                                  "line": 165,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 6067,
                                  "end": 6103,
                                  "loc": {
                                    "start": {
                                      "line": 164,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 164,
                                      "column": 48
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 6067,
                                    "end": 6102,
                                    "loc": {
                                      "start": {
                                        "line": 164,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 164,
                                        "column": 47
                                      }
                                    },
                                    "operator": "+=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 6067,
                                      "end": 6085,
                                      "loc": {
                                        "start": {
                                          "line": 164,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 164,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 6067,
                                        "end": 6080,
                                        "loc": {
                                          "start": {
                                            "line": 164,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 164,
                                            "column": 25
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 6067,
                                          "end": 6071,
                                          "loc": {
                                            "start": {
                                              "line": 164,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 164,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 6072,
                                          "end": 6080,
                                          "loc": {
                                            "start": {
                                              "line": 164,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 164,
                                              "column": 25
                                            }
                                          },
                                          "name": "position"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 6081,
                                        "end": 6084,
                                        "loc": {
                                          "start": {
                                            "line": 164,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 164,
                                            "column": 29
                                          }
                                        },
                                        "name": "key"
                                      },
                                      "computed": true
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 6089,
                                      "end": 6102,
                                      "loc": {
                                        "start": {
                                          "line": 164,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 164,
                                          "column": 47
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 6089,
                                        "end": 6094,
                                        "loc": {
                                          "start": {
                                            "line": 164,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 164,
                                            "column": 39
                                          }
                                        },
                                        "name": "value"
                                      },
                                      "operator": "*",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 6097,
                                        "end": 6102,
                                        "loc": {
                                          "start": {
                                            "line": 164,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 164,
                                            "column": 47
                                          }
                                        },
                                        "name": "alpha"
                                      }
                                    }
                                  }
                                }
                              ]
                            }
                          },
                          {
                            "type": "ThisExpression",
                            "start": 6115,
                            "end": 6119,
                            "loc": {
                              "start": {
                                "line": 165,
                                "column": 11
                              },
                              "end": {
                                "line": 165,
                                "column": 15
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 6133,
              "end": 6243,
              "loc": {
                "start": {
                  "line": 168,
                  "column": 4
                },
                "end": {
                  "line": 170,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6133,
                "end": 6151,
                "loc": {
                  "start": {
                    "line": 168,
                    "column": 4
                  },
                  "end": {
                    "line": 168,
                    "column": 22
                  }
                },
                "name": "prepareAddOnServer"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 6151,
                "end": 6243,
                "loc": {
                  "start": {
                    "line": 168,
                    "column": 22
                  },
                  "end": {
                    "line": 170,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 6152,
                    "end": 6158,
                    "loc": {
                      "start": {
                        "line": 168,
                        "column": 23
                      },
                      "end": {
                        "line": 168,
                        "column": 29
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 6160,
                  "end": 6243,
                  "loc": {
                    "start": {
                      "line": 168,
                      "column": 31
                    },
                    "end": {
                      "line": 170,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 6170,
                      "end": 6237,
                      "loc": {
                        "start": {
                          "line": 169,
                          "column": 8
                        },
                        "end": {
                          "line": 169,
                          "column": 75
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 6177,
                        "end": 6236,
                        "loc": {
                          "start": {
                            "line": 169,
                            "column": 15
                          },
                          "end": {
                            "line": 169,
                            "column": 74
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6177,
                          "end": 6230,
                          "loc": {
                            "start": {
                              "line": 169,
                              "column": 15
                            },
                            "end": {
                              "line": 169,
                              "column": 68
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 6177,
                            "end": 6216,
                            "loc": {
                              "start": {
                                "line": 169,
                                "column": 15
                              },
                              "end": {
                                "line": 169,
                                "column": 54
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6177,
                              "end": 6193,
                              "loc": {
                                "start": {
                                  "line": 169,
                                  "column": 15
                                },
                                "end": {
                                  "line": 169,
                                  "column": 31
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6177,
                                "end": 6184,
                                "loc": {
                                  "start": {
                                    "line": 169,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 169,
                                    "column": 22
                                  }
                                },
                                "name": "Interop"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6185,
                                "end": 6193,
                                "loc": {
                                  "start": {
                                    "line": 169,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 169,
                                    "column": 31
                                  }
                                },
                                "name": "AddPoint"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 6194,
                                "end": 6200,
                                "loc": {
                                  "start": {
                                    "line": 169,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 169,
                                    "column": 38
                                  }
                                },
                                "name": "sketch"
                              },
                              {
                                "type": "MemberExpression",
                                "start": 6202,
                                "end": 6215,
                                "loc": {
                                  "start": {
                                    "line": 169,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 169,
                                    "column": 53
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 6202,
                                  "end": 6206,
                                  "loc": {
                                    "start": {
                                      "line": 169,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 169,
                                      "column": 44
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6207,
                                  "end": 6215,
                                  "loc": {
                                    "start": {
                                      "line": 169,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 169,
                                      "column": 53
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6217,
                            "end": 6230,
                            "loc": {
                              "start": {
                                "line": 169,
                                "column": 55
                              },
                              "end": {
                                "line": 169,
                                "column": 68
                              }
                            },
                            "name": "parseToObject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 6231,
                            "end": 6235,
                            "loc": {
                              "start": {
                                "line": 169,
                                "column": 69
                              },
                              "end": {
                                "line": 169,
                                "column": 73
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 6249,
              "end": 6417,
              "loc": {
                "start": {
                  "line": 172,
                  "column": 4
                },
                "end": {
                  "line": 178,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6249,
                "end": 6270,
                "loc": {
                  "start": {
                    "line": 172,
                    "column": 4
                  },
                  "end": {
                    "line": 172,
                    "column": 25
                  }
                },
                "name": "prepareUpdateToServer"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 6270,
                "end": 6417,
                "loc": {
                  "start": {
                    "line": 172,
                    "column": 25
                  },
                  "end": {
                    "line": 178,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 6271,
                    "end": 6277,
                    "loc": {
                      "start": {
                        "line": 172,
                        "column": 26
                      },
                      "end": {
                        "line": 172,
                        "column": 32
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 6279,
                  "end": 6417,
                  "loc": {
                    "start": {
                      "line": 172,
                      "column": 34
                    },
                    "end": {
                      "line": 178,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 6289,
                      "end": 6411,
                      "loc": {
                        "start": {
                          "line": 173,
                          "column": 8
                        },
                        "end": {
                          "line": 177,
                          "column": 30
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 6296,
                        "end": 6410,
                        "loc": {
                          "start": {
                            "line": 173,
                            "column": 15
                          },
                          "end": {
                            "line": 177,
                            "column": 29
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6296,
                          "end": 6404,
                          "loc": {
                            "start": {
                              "line": 173,
                              "column": 15
                            },
                            "end": {
                              "line": 177,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 6296,
                            "end": 6390,
                            "loc": {
                              "start": {
                                "line": 173,
                                "column": 15
                              },
                              "end": {
                                "line": 177,
                                "column": 9
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6296,
                              "end": 6315,
                              "loc": {
                                "start": {
                                  "line": 173,
                                  "column": 15
                                },
                                "end": {
                                  "line": 173,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6296,
                                "end": 6303,
                                "loc": {
                                  "start": {
                                    "line": 173,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 173,
                                    "column": 22
                                  }
                                },
                                "name": "Interop"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6304,
                                "end": 6315,
                                "loc": {
                                  "start": {
                                    "line": 173,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 173,
                                    "column": 34
                                  }
                                },
                                "name": "UpdatePoint"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 6329,
                                "end": 6335,
                                "loc": {
                                  "start": {
                                    "line": 174,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 174,
                                    "column": 18
                                  }
                                },
                                "name": "sketch"
                              },
                              {
                                "type": "ThisExpression",
                                "start": 6349,
                                "end": 6353,
                                "loc": {
                                  "start": {
                                    "line": 175,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 175,
                                    "column": 16
                                  }
                                }
                              },
                              {
                                "type": "MemberExpression",
                                "start": 6367,
                                "end": 6380,
                                "loc": {
                                  "start": {
                                    "line": 176,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 176,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 6367,
                                  "end": 6371,
                                  "loc": {
                                    "start": {
                                      "line": 176,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 176,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6372,
                                  "end": 6380,
                                  "loc": {
                                    "start": {
                                      "line": 176,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 176,
                                      "column": 25
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6391,
                            "end": 6404,
                            "loc": {
                              "start": {
                                "line": 177,
                                "column": 10
                              },
                              "end": {
                                "line": 177,
                                "column": 23
                              }
                            },
                            "name": "parseToObject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 6405,
                            "end": 6409,
                            "loc": {
                              "start": {
                                "line": 177,
                                "column": 24
                              },
                              "end": {
                                "line": 177,
                                "column": 28
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 6423,
              "end": 6510,
              "loc": {
                "start": {
                  "line": 180,
                  "column": 4
                },
                "end": {
                  "line": 182,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6423,
                "end": 6444,
                "loc": {
                  "start": {
                    "line": 180,
                    "column": 4
                  },
                  "end": {
                    "line": 180,
                    "column": 25
                  }
                },
                "name": "prepareRemoveOnServer"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 6444,
                "end": 6510,
                "loc": {
                  "start": {
                    "line": 180,
                    "column": 25
                  },
                  "end": {
                    "line": 182,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 6445,
                    "end": 6451,
                    "loc": {
                      "start": {
                        "line": 180,
                        "column": 26
                      },
                      "end": {
                        "line": 180,
                        "column": 32
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 6453,
                  "end": 6510,
                  "loc": {
                    "start": {
                      "line": 180,
                      "column": 34
                    },
                    "end": {
                      "line": 182,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 6463,
                      "end": 6504,
                      "loc": {
                        "start": {
                          "line": 181,
                          "column": 8
                        },
                        "end": {
                          "line": 181,
                          "column": 49
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 6470,
                        "end": 6503,
                        "loc": {
                          "start": {
                            "line": 181,
                            "column": 15
                          },
                          "end": {
                            "line": 181,
                            "column": 48
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6470,
                          "end": 6489,
                          "loc": {
                            "start": {
                              "line": 181,
                              "column": 15
                            },
                            "end": {
                              "line": 181,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 6470,
                            "end": 6477,
                            "loc": {
                              "start": {
                                "line": 181,
                                "column": 15
                              },
                              "end": {
                                "line": 181,
                                "column": 22
                              }
                            },
                            "name": "Interop"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6478,
                            "end": 6489,
                            "loc": {
                              "start": {
                                "line": 181,
                                "column": 23
                              },
                              "end": {
                                "line": 181,
                                "column": 34
                              }
                            },
                            "name": "RemovePoint"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 6490,
                            "end": 6496,
                            "loc": {
                              "start": {
                                "line": 181,
                                "column": 35
                              },
                              "end": {
                                "line": 181,
                                "column": 41
                              }
                            },
                            "name": "sketch"
                          },
                          {
                            "type": "ThisExpression",
                            "start": 6498,
                            "end": 6502,
                            "loc": {
                              "start": {
                                "line": 181,
                                "column": 43
                              },
                              "end": {
                                "line": 181,
                                "column": 47
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": "================================ Sketch.Point =========================================",
            "start": 3913,
            "end": 4002,
            "loc": {
              "start": {
                "line": 91,
                "column": 0
              },
              "end": {
                "line": 91,
                "column": 89
              }
            },
            "range": [
              3913,
              4002
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": "================================ Sketch.Point =========================================",
          "start": 3913,
          "end": 4002,
          "loc": {
            "start": {
              "line": 91,
              "column": 0
            },
            "end": {
              "line": 91,
              "column": 89
            }
          },
          "range": [
            3913,
            4002
          ]
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "start": 6513,
      "end": 6561,
      "loc": {
        "start": {
          "line": 184,
          "column": 0
        },
        "end": {
          "line": 184,
          "column": 48
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 6513,
        "end": 6560,
        "loc": {
          "start": {
            "line": 184,
            "column": 0
          },
          "end": {
            "line": 184,
            "column": 47
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 6513,
          "end": 6552,
          "loc": {
            "start": {
              "line": 184,
              "column": 0
            },
            "end": {
              "line": 184,
              "column": 39
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 6513,
            "end": 6540,
            "loc": {
              "start": {
                "line": 184,
                "column": 0
              },
              "end": {
                "line": 184,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 6513,
              "end": 6527,
              "loc": {
                "start": {
                  "line": 184,
                  "column": 0
                },
                "end": {
                  "line": 184,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 6528,
              "end": 6540,
              "loc": {
                "start": {
                  "line": 184,
                  "column": 15
                },
                "end": {
                  "line": 184,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 6541,
            "end": 6551,
            "loc": {
              "start": {
                "line": 184,
                "column": 28
              },
              "end": {
                "line": 184,
                "column": 38
              }
            },
            "value": "CC_Point",
            "rawValue": "CC_Point",
            "raw": "'CC_Point'"
          },
          "computed": true
        },
        "right": {
          "type": "Identifier",
          "start": 6555,
          "end": 6560,
          "loc": {
            "start": {
              "line": 184,
              "column": 42
            },
            "end": {
              "line": 184,
              "column": 47
            }
          },
          "name": "Point"
        }
      },
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": "================================ Sketch.Line =========================================",
          "start": 6563,
          "end": 6651,
          "loc": {
            "start": {
              "line": 186,
              "column": 0
            },
            "end": {
              "line": 186,
              "column": 88
            }
          },
          "range": [
            6563,
            6651
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 6652,
      "end": 13080,
      "loc": {
        "start": {
          "line": 187,
          "column": 0
        },
        "end": {
          "line": 354,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 6659,
        "end": 13080,
        "loc": {
          "start": {
            "line": 187,
            "column": 7
          },
          "end": {
            "line": 354,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 6665,
          "end": 6669,
          "loc": {
            "start": {
              "line": 187,
              "column": 13
            },
            "end": {
              "line": 187,
              "column": 17
            }
          },
          "name": "Line",
          "leadingComments": null
        },
        "superClass": {
          "type": "Identifier",
          "start": 6678,
          "end": 6693,
          "loc": {
            "start": {
              "line": 187,
              "column": 26
            },
            "end": {
              "line": 187,
              "column": 41
            }
          },
          "name": "GeometricObject"
        },
        "body": {
          "type": "ClassBody",
          "start": 6694,
          "end": 13080,
          "loc": {
            "start": {
              "line": 187,
              "column": 42
            },
            "end": {
              "line": 354,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 6700,
              "end": 7670,
              "loc": {
                "start": {
                  "line": 188,
                  "column": 4
                },
                "end": {
                  "line": 209,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6700,
                "end": 6711,
                "loc": {
                  "start": {
                    "line": 188,
                    "column": 4
                  },
                  "end": {
                    "line": 188,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 6711,
                "end": 7670,
                "loc": {
                  "start": {
                    "line": 188,
                    "column": 15
                  },
                  "end": {
                    "line": 209,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 6714,
                  "end": 7670,
                  "loc": {
                    "start": {
                      "line": 188,
                      "column": 18
                    },
                    "end": {
                      "line": 209,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 6724,
                      "end": 6732,
                      "loc": {
                        "start": {
                          "line": 189,
                          "column": 8
                        },
                        "end": {
                          "line": 189,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6724,
                        "end": 6731,
                        "loc": {
                          "start": {
                            "line": 189,
                            "column": 8
                          },
                          "end": {
                            "line": 189,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 6724,
                          "end": 6729,
                          "loc": {
                            "start": {
                              "line": 189,
                              "column": 8
                            },
                            "end": {
                              "line": 189,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6741,
                      "end": 6760,
                      "loc": {
                        "start": {
                          "line": 190,
                          "column": 8
                        },
                        "end": {
                          "line": 190,
                          "column": 27
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6741,
                        "end": 6759,
                        "loc": {
                          "start": {
                            "line": 190,
                            "column": 8
                          },
                          "end": {
                            "line": 190,
                            "column": 26
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6741,
                          "end": 6750,
                          "loc": {
                            "start": {
                              "line": 190,
                              "column": 8
                            },
                            "end": {
                              "line": 190,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6741,
                            "end": 6745,
                            "loc": {
                              "start": {
                                "line": 190,
                                "column": 8
                              },
                              "end": {
                                "line": 190,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6746,
                            "end": 6750,
                            "loc": {
                              "start": {
                                "line": 190,
                                "column": 13
                              },
                              "end": {
                                "line": 190,
                                "column": 17
                              }
                            },
                            "name": "type"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 6753,
                          "end": 6759,
                          "loc": {
                            "start": {
                              "line": 190,
                              "column": 20
                            },
                            "end": {
                              "line": 190,
                              "column": 26
                            }
                          },
                          "value": "Line",
                          "rawValue": "Line",
                          "raw": "'Line'"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6770,
                      "end": 7038,
                      "loc": {
                        "start": {
                          "line": 192,
                          "column": 8
                        },
                        "end": {
                          "line": 196,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6770,
                        "end": 7037,
                        "loc": {
                          "start": {
                            "line": 192,
                            "column": 8
                          },
                          "end": {
                            "line": 196,
                            "column": 10
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6770,
                          "end": 6779,
                          "loc": {
                            "start": {
                              "line": 192,
                              "column": 8
                            },
                            "end": {
                              "line": 192,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6770,
                            "end": 6774,
                            "loc": {
                              "start": {
                                "line": 192,
                                "column": 8
                              },
                              "end": {
                                "line": 192,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6775,
                            "end": 6779,
                            "loc": {
                              "start": {
                                "line": 192,
                                "column": 13
                              },
                              "end": {
                                "line": 192,
                                "column": 17
                              }
                            },
                            "name": "mesh"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 6782,
                          "end": 7037,
                          "loc": {
                            "start": {
                              "line": 192,
                              "column": 20
                            },
                            "end": {
                              "line": 196,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 6786,
                            "end": 6798,
                            "loc": {
                              "start": {
                                "line": 192,
                                "column": 24
                              },
                              "end": {
                                "line": 192,
                                "column": 36
                              }
                            },
                            "name": "InteractMesh"
                          },
                          "arguments": [
                            {
                              "type": "NewExpression",
                              "start": 6799,
                              "end": 6829,
                              "loc": {
                                "start": {
                                  "line": 192,
                                  "column": 37
                                },
                                "end": {
                                  "line": 192,
                                  "column": 67
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 6803,
                                "end": 6820,
                                "loc": {
                                  "start": {
                                    "line": 192,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 192,
                                    "column": 58
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6803,
                                  "end": 6808,
                                  "loc": {
                                    "start": {
                                      "line": 192,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 192,
                                      "column": 46
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6809,
                                  "end": 6820,
                                  "loc": {
                                    "start": {
                                      "line": 192,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 192,
                                      "column": 58
                                    }
                                  },
                                  "name": "BoxGeometry"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 6821,
                                  "end": 6822,
                                  "loc": {
                                    "start": {
                                      "line": 192,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 192,
                                      "column": 60
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                {
                                  "type": "Literal",
                                  "start": 6824,
                                  "end": 6825,
                                  "loc": {
                                    "start": {
                                      "line": 192,
                                      "column": 62
                                    },
                                    "end": {
                                      "line": 192,
                                      "column": 63
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                {
                                  "type": "Literal",
                                  "start": 6827,
                                  "end": 6828,
                                  "loc": {
                                    "start": {
                                      "line": 192,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 192,
                                      "column": 66
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            },
                            {
                              "type": "NewExpression",
                              "start": 6831,
                              "end": 7036,
                              "loc": {
                                "start": {
                                  "line": 192,
                                  "column": 69
                                },
                                "end": {
                                  "line": 196,
                                  "column": 9
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 6835,
                                "end": 6858,
                                "loc": {
                                  "start": {
                                    "line": 192,
                                    "column": 73
                                  },
                                  "end": {
                                    "line": 192,
                                    "column": 96
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6835,
                                  "end": 6840,
                                  "loc": {
                                    "start": {
                                      "line": 192,
                                      "column": 73
                                    },
                                    "end": {
                                      "line": 192,
                                      "column": 78
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6841,
                                  "end": 6858,
                                  "loc": {
                                    "start": {
                                      "line": 192,
                                      "column": 79
                                    },
                                    "end": {
                                      "line": 192,
                                      "column": 96
                                    }
                                  },
                                  "name": "MeshBasicMaterial"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ObjectExpression",
                                  "start": 6872,
                                  "end": 7026,
                                  "loc": {
                                    "start": {
                                      "line": 193,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 195,
                                      "column": 13
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "Property",
                                      "start": 6873,
                                      "end": 6901,
                                      "loc": {
                                        "start": {
                                          "line": 193,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 193,
                                          "column": 41
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 6873,
                                        "end": 6878,
                                        "loc": {
                                          "start": {
                                            "line": 193,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 193,
                                            "column": 18
                                          }
                                        },
                                        "name": "color"
                                      },
                                      "value": {
                                        "type": "CallExpression",
                                        "start": 6880,
                                        "end": 6901,
                                        "loc": {
                                          "start": {
                                            "line": 193,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 193,
                                            "column": 41
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 6880,
                                          "end": 6888,
                                          "loc": {
                                            "start": {
                                              "line": 193,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 193,
                                              "column": 28
                                            }
                                          },
                                          "name": "getColor"
                                        },
                                        "arguments": [
                                          {
                                            "type": "ThisExpression",
                                            "start": 6889,
                                            "end": 6893,
                                            "loc": {
                                              "start": {
                                                "line": 193,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 193,
                                                "column": 33
                                              }
                                            }
                                          },
                                          {
                                            "type": "Literal",
                                            "start": 6895,
                                            "end": 6900,
                                            "loc": {
                                              "start": {
                                                "line": 193,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 193,
                                                "column": 40
                                              }
                                            },
                                            "value": false,
                                            "rawValue": false,
                                            "raw": "false"
                                          }
                                        ]
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 6903,
                                      "end": 6925,
                                      "loc": {
                                        "start": {
                                          "line": 193,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 193,
                                          "column": 65
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 6903,
                                        "end": 6907,
                                        "loc": {
                                          "start": {
                                            "line": 193,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 193,
                                            "column": 47
                                          }
                                        },
                                        "name": "side"
                                      },
                                      "value": {
                                        "type": "MemberExpression",
                                        "start": 6909,
                                        "end": 6925,
                                        "loc": {
                                          "start": {
                                            "line": 193,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 193,
                                            "column": 65
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 6909,
                                          "end": 6914,
                                          "loc": {
                                            "start": {
                                              "line": 193,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 193,
                                              "column": 54
                                            }
                                          },
                                          "name": "THREE"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 6915,
                                          "end": 6925,
                                          "loc": {
                                            "start": {
                                              "line": 193,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 193,
                                              "column": 65
                                            }
                                          },
                                          "name": "DoubleSide"
                                        },
                                        "computed": false
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 6943,
                                      "end": 6962,
                                      "loc": {
                                        "start": {
                                          "line": 194,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 194,
                                          "column": 35
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 6943,
                                        "end": 6956,
                                        "loc": {
                                          "start": {
                                            "line": 194,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 194,
                                            "column": 29
                                          }
                                        },
                                        "name": "polygonOffset"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 6958,
                                        "end": 6962,
                                        "loc": {
                                          "start": {
                                            "line": 194,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 194,
                                            "column": 35
                                          }
                                        },
                                        "value": true,
                                        "rawValue": true,
                                        "raw": "true"
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 6964,
                                      "end": 6987,
                                      "loc": {
                                        "start": {
                                          "line": 194,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 194,
                                          "column": 60
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 6964,
                                        "end": 6983,
                                        "loc": {
                                          "start": {
                                            "line": 194,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 194,
                                            "column": 56
                                          }
                                        },
                                        "name": "polygonOffsetFactor"
                                      },
                                      "value": {
                                        "type": "UnaryExpression",
                                        "start": 6985,
                                        "end": 6987,
                                        "loc": {
                                          "start": {
                                            "line": 194,
                                            "column": 58
                                          },
                                          "end": {
                                            "line": 194,
                                            "column": 60
                                          }
                                        },
                                        "operator": "-",
                                        "prefix": true,
                                        "argument": {
                                          "type": "Literal",
                                          "start": 6986,
                                          "end": 6987,
                                          "loc": {
                                            "start": {
                                              "line": 194,
                                              "column": 59
                                            },
                                            "end": {
                                              "line": 194,
                                              "column": 60
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        }
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 6989,
                                      "end": 7012,
                                      "loc": {
                                        "start": {
                                          "line": 194,
                                          "column": 62
                                        },
                                        "end": {
                                          "line": 194,
                                          "column": 85
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 6989,
                                        "end": 7007,
                                        "loc": {
                                          "start": {
                                            "line": 194,
                                            "column": 62
                                          },
                                          "end": {
                                            "line": 194,
                                            "column": 80
                                          }
                                        },
                                        "name": "polygonOffsetUnits"
                                      },
                                      "value": {
                                        "type": "UnaryExpression",
                                        "start": 7010,
                                        "end": 7012,
                                        "loc": {
                                          "start": {
                                            "line": 194,
                                            "column": 83
                                          },
                                          "end": {
                                            "line": 194,
                                            "column": 85
                                          }
                                        },
                                        "operator": "-",
                                        "prefix": true,
                                        "argument": {
                                          "type": "Literal",
                                          "start": 7011,
                                          "end": 7012,
                                          "loc": {
                                            "start": {
                                              "line": 194,
                                              "column": 84
                                            },
                                            "end": {
                                              "line": 194,
                                              "column": 85
                                            }
                                          },
                                          "value": 5,
                                          "rawValue": 5,
                                          "raw": "5"
                                        }
                                      },
                                      "kind": "init"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7047,
                      "end": 7073,
                      "loc": {
                        "start": {
                          "line": 197,
                          "column": 8
                        },
                        "end": {
                          "line": 197,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 7047,
                        "end": 7072,
                        "loc": {
                          "start": {
                            "line": 197,
                            "column": 8
                          },
                          "end": {
                            "line": 197,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 7047,
                          "end": 7060,
                          "loc": {
                            "start": {
                              "line": 197,
                              "column": 8
                            },
                            "end": {
                              "line": 197,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 7047,
                            "end": 7051,
                            "loc": {
                              "start": {
                                "line": 197,
                                "column": 8
                              },
                              "end": {
                                "line": 197,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7052,
                            "end": 7060,
                            "loc": {
                              "start": {
                                "line": 197,
                                "column": 13
                              },
                              "end": {
                                "line": 197,
                                "column": 21
                              }
                            },
                            "name": "interact"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 7063,
                          "end": 7072,
                          "loc": {
                            "start": {
                              "line": 197,
                              "column": 24
                            },
                            "end": {
                              "line": 197,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 7063,
                            "end": 7067,
                            "loc": {
                              "start": {
                                "line": 197,
                                "column": 24
                              },
                              "end": {
                                "line": 197,
                                "column": 28
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7068,
                            "end": 7072,
                            "loc": {
                              "start": {
                                "line": 197,
                                "column": 29
                              },
                              "end": {
                                "line": 197,
                                "column": 33
                              }
                            },
                            "name": "mesh"
                          },
                          "computed": false
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "pseudonym, place your interactions here",
                          "start": 7074,
                          "end": 7115,
                          "loc": {
                            "start": {
                              "line": 197,
                              "column": 35
                            },
                            "end": {
                              "line": 197,
                              "column": 76
                            }
                          },
                          "range": [
                            7074,
                            7115
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7124,
                      "end": 7165,
                      "loc": {
                        "start": {
                          "line": 198,
                          "column": 8
                        },
                        "end": {
                          "line": 198,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 7124,
                        "end": 7164,
                        "loc": {
                          "start": {
                            "line": 198,
                            "column": 8
                          },
                          "end": {
                            "line": 198,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 7124,
                          "end": 7135,
                          "loc": {
                            "start": {
                              "line": 198,
                              "column": 8
                            },
                            "end": {
                              "line": 198,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 7124,
                            "end": 7128,
                            "loc": {
                              "start": {
                                "line": 198,
                                "column": 8
                              },
                              "end": {
                                "line": 198,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7129,
                            "end": 7135,
                            "loc": {
                              "start": {
                                "line": 198,
                                "column": 13
                              },
                              "end": {
                                "line": 198,
                                "column": 19
                              }
                            },
                            "name": "points"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 7138,
                          "end": 7164,
                          "loc": {
                            "start": {
                              "line": 198,
                              "column": 22
                            },
                            "end": {
                              "line": 198,
                              "column": 48
                            }
                          },
                          "elements": [
                            {
                              "type": "NewExpression",
                              "start": 7139,
                              "end": 7150,
                              "loc": {
                                "start": {
                                  "line": 198,
                                  "column": 23
                                },
                                "end": {
                                  "line": 198,
                                  "column": 34
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 7143,
                                "end": 7148,
                                "loc": {
                                  "start": {
                                    "line": 198,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 198,
                                    "column": 32
                                  }
                                },
                                "name": "Point"
                              },
                              "arguments": []
                            },
                            {
                              "type": "NewExpression",
                              "start": 7152,
                              "end": 7163,
                              "loc": {
                                "start": {
                                  "line": 198,
                                  "column": 36
                                },
                                "end": {
                                  "line": 198,
                                  "column": 47
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 7156,
                                "end": 7161,
                                "loc": {
                                  "start": {
                                    "line": 198,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 198,
                                    "column": 45
                                  }
                                },
                                "name": "Point"
                              },
                              "arguments": []
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "pseudonym, place your interactions here",
                          "start": 7074,
                          "end": 7115,
                          "loc": {
                            "start": {
                              "line": 197,
                              "column": 35
                            },
                            "end": {
                              "line": 197,
                              "column": 76
                            }
                          },
                          "range": [
                            7074,
                            7115
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7174,
                      "end": 7209,
                      "loc": {
                        "start": {
                          "line": 199,
                          "column": 8
                        },
                        "end": {
                          "line": 199,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 7174,
                        "end": 7208,
                        "loc": {
                          "start": {
                            "line": 199,
                            "column": 8
                          },
                          "end": {
                            "line": 199,
                            "column": 42
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 7174,
                          "end": 7193,
                          "loc": {
                            "start": {
                              "line": 199,
                              "column": 8
                            },
                            "end": {
                              "line": 199,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 7174,
                            "end": 7188,
                            "loc": {
                              "start": {
                                "line": 199,
                                "column": 8
                              },
                              "end": {
                                "line": 199,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 7174,
                              "end": 7185,
                              "loc": {
                                "start": {
                                  "line": 199,
                                  "column": 8
                                },
                                "end": {
                                  "line": 199,
                                  "column": 19
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 7174,
                                "end": 7178,
                                "loc": {
                                  "start": {
                                    "line": 199,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 199,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7179,
                                "end": 7185,
                                "loc": {
                                  "start": {
                                    "line": 199,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 199,
                                    "column": 19
                                  }
                                },
                                "name": "points"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Literal",
                              "start": 7186,
                              "end": 7187,
                              "loc": {
                                "start": {
                                  "line": 199,
                                  "column": 20
                                },
                                "end": {
                                  "line": 199,
                                  "column": 21
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "computed": true
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7189,
                            "end": 7193,
                            "loc": {
                              "start": {
                                "line": 199,
                                "column": 23
                              },
                              "end": {
                                "line": 199,
                                "column": 27
                              }
                            },
                            "name": "name"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 7196,
                          "end": 7208,
                          "loc": {
                            "start": {
                              "line": 199,
                              "column": 30
                            },
                            "end": {
                              "line": 199,
                              "column": 42
                            }
                          },
                          "value": "startPoint",
                          "rawValue": "startPoint",
                          "raw": "'startPoint'"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7218,
                      "end": 7251,
                      "loc": {
                        "start": {
                          "line": 200,
                          "column": 8
                        },
                        "end": {
                          "line": 200,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 7218,
                        "end": 7250,
                        "loc": {
                          "start": {
                            "line": 200,
                            "column": 8
                          },
                          "end": {
                            "line": 200,
                            "column": 40
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 7218,
                          "end": 7237,
                          "loc": {
                            "start": {
                              "line": 200,
                              "column": 8
                            },
                            "end": {
                              "line": 200,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 7218,
                            "end": 7232,
                            "loc": {
                              "start": {
                                "line": 200,
                                "column": 8
                              },
                              "end": {
                                "line": 200,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 7218,
                              "end": 7229,
                              "loc": {
                                "start": {
                                  "line": 200,
                                  "column": 8
                                },
                                "end": {
                                  "line": 200,
                                  "column": 19
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 7218,
                                "end": 7222,
                                "loc": {
                                  "start": {
                                    "line": 200,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 200,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7223,
                                "end": 7229,
                                "loc": {
                                  "start": {
                                    "line": 200,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 200,
                                    "column": 19
                                  }
                                },
                                "name": "points"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Literal",
                              "start": 7230,
                              "end": 7231,
                              "loc": {
                                "start": {
                                  "line": 200,
                                  "column": 20
                                },
                                "end": {
                                  "line": 200,
                                  "column": 21
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "computed": true
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7233,
                            "end": 7237,
                            "loc": {
                              "start": {
                                "line": 200,
                                "column": 23
                              },
                              "end": {
                                "line": 200,
                                "column": 27
                              }
                            },
                            "name": "name"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 7240,
                          "end": 7250,
                          "loc": {
                            "start": {
                              "line": 200,
                              "column": 30
                            },
                            "end": {
                              "line": 200,
                              "column": 40
                            }
                          },
                          "value": "endPoint",
                          "rawValue": "endPoint",
                          "raw": "'endPoint'"
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " when positions in geometry are directly updated, notify geometry about it",
                          "start": 7260,
                          "end": 7336,
                          "loc": {
                            "start": {
                              "line": 201,
                              "column": 8
                            },
                            "end": {
                              "line": 201,
                              "column": 84
                            }
                          },
                          "range": [
                            7260,
                            7336
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7345,
                      "end": 7508,
                      "loc": {
                        "start": {
                          "line": 202,
                          "column": 8
                        },
                        "end": {
                          "line": 205,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 7345,
                        "end": 7507,
                        "loc": {
                          "start": {
                            "line": 202,
                            "column": 8
                          },
                          "end": {
                            "line": 205,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 7345,
                          "end": 7364,
                          "loc": {
                            "start": {
                              "line": 202,
                              "column": 8
                            },
                            "end": {
                              "line": 202,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 7345,
                            "end": 7356,
                            "loc": {
                              "start": {
                                "line": 202,
                                "column": 8
                              },
                              "end": {
                                "line": 202,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 7345,
                              "end": 7349,
                              "loc": {
                                "start": {
                                  "line": 202,
                                  "column": 8
                                },
                                "end": {
                                  "line": 202,
                                  "column": 12
                                }
                              },
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7350,
                              "end": 7356,
                              "loc": {
                                "start": {
                                  "line": 202,
                                  "column": 13
                                },
                                "end": {
                                  "line": 202,
                                  "column": 19
                                }
                              },
                              "name": "points"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7357,
                            "end": 7364,
                            "loc": {
                              "start": {
                                "line": 202,
                                "column": 20
                              },
                              "end": {
                                "line": 202,
                                "column": 27
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 7365,
                            "end": 7506,
                            "loc": {
                              "start": {
                                "line": 202,
                                "column": 28
                              },
                              "end": {
                                "line": 205,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 7365,
                                "end": 7370,
                                "loc": {
                                  "start": {
                                    "line": 202,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 33
                                  }
                                },
                                "name": "point"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 7374,
                              "end": 7506,
                              "loc": {
                                "start": {
                                  "line": 202,
                                  "column": 37
                                },
                                "end": {
                                  "line": 205,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 7388,
                                  "end": 7438,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 62
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 7388,
                                    "end": 7437,
                                    "loc": {
                                      "start": {
                                        "line": 203,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 203,
                                        "column": 61
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 7388,
                                      "end": 7396,
                                      "loc": {
                                        "start": {
                                          "line": 203,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 203,
                                          "column": 20
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 7388,
                                        "end": 7393,
                                        "loc": {
                                          "start": {
                                            "line": 203,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 203,
                                            "column": 17
                                          }
                                        },
                                        "name": "point"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7394,
                                        "end": 7396,
                                        "loc": {
                                          "start": {
                                            "line": 203,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 203,
                                            "column": 20
                                          }
                                        },
                                        "name": "on"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 7397,
                                        "end": 7404,
                                        "loc": {
                                          "start": {
                                            "line": 203,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 203,
                                            "column": 28
                                          }
                                        },
                                        "value": "moved",
                                        "rawValue": "moved",
                                        "raw": "'moved'"
                                      },
                                      {
                                        "type": "CallExpression",
                                        "start": 7406,
                                        "end": 7436,
                                        "loc": {
                                          "start": {
                                            "line": 203,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 203,
                                            "column": 60
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 7406,
                                          "end": 7430,
                                          "loc": {
                                            "start": {
                                              "line": 203,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 203,
                                              "column": 54
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 7406,
                                            "end": 7425,
                                            "loc": {
                                              "start": {
                                                "line": 203,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 203,
                                                "column": 49
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 7406,
                                              "end": 7410,
                                              "loc": {
                                                "start": {
                                                  "line": 203,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 203,
                                                  "column": 34
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 7411,
                                              "end": 7425,
                                              "loc": {
                                                "start": {
                                                  "line": 203,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 203,
                                                  "column": 49
                                                }
                                              },
                                              "name": "updateGeometry"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 7426,
                                            "end": 7430,
                                            "loc": {
                                              "start": {
                                                "line": 203,
                                                "column": 50
                                              },
                                              "end": {
                                                "line": 203,
                                                "column": 54
                                              }
                                            },
                                            "name": "bind"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "ThisExpression",
                                            "start": 7431,
                                            "end": 7435,
                                            "loc": {
                                              "start": {
                                                "line": 203,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 203,
                                                "column": 59
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 7451,
                                  "end": 7496,
                                  "loc": {
                                    "start": {
                                      "line": 204,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 204,
                                      "column": 57
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 7451,
                                    "end": 7495,
                                    "loc": {
                                      "start": {
                                        "line": 204,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 204,
                                        "column": 56
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 7451,
                                      "end": 7459,
                                      "loc": {
                                        "start": {
                                          "line": 204,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 204,
                                          "column": 20
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 7451,
                                        "end": 7456,
                                        "loc": {
                                          "start": {
                                            "line": 204,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 204,
                                            "column": 17
                                          }
                                        },
                                        "name": "point"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7457,
                                        "end": 7459,
                                        "loc": {
                                          "start": {
                                            "line": 204,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 204,
                                            "column": 20
                                          }
                                        },
                                        "name": "on"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 7460,
                                        "end": 7469,
                                        "loc": {
                                          "start": {
                                            "line": 204,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 204,
                                            "column": 30
                                          }
                                        },
                                        "value": "dragend",
                                        "rawValue": "dragend",
                                        "raw": "'dragend'"
                                      },
                                      {
                                        "type": "CallExpression",
                                        "start": 7471,
                                        "end": 7494,
                                        "loc": {
                                          "start": {
                                            "line": 204,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 204,
                                            "column": 55
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 7471,
                                          "end": 7488,
                                          "loc": {
                                            "start": {
                                              "line": 204,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 204,
                                              "column": 49
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 7471,
                                            "end": 7483,
                                            "loc": {
                                              "start": {
                                                "line": 204,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 204,
                                                "column": 44
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 7471,
                                              "end": 7475,
                                              "loc": {
                                                "start": {
                                                  "line": 204,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 204,
                                                  "column": 36
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 7476,
                                              "end": 7483,
                                              "loc": {
                                                "start": {
                                                  "line": 204,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 204,
                                                  "column": 44
                                                }
                                              },
                                              "name": "endDrag"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 7484,
                                            "end": 7488,
                                            "loc": {
                                              "start": {
                                                "line": 204,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 204,
                                                "column": 49
                                              }
                                            },
                                            "name": "bind"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "ThisExpression",
                                            "start": 7489,
                                            "end": 7493,
                                            "loc": {
                                              "start": {
                                                "line": 204,
                                                "column": 50
                                              },
                                              "end": {
                                                "line": 204,
                                                "column": 54
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " when positions in geometry are directly updated, notify geometry about it",
                          "start": 7260,
                          "end": 7336,
                          "loc": {
                            "start": {
                              "line": 201,
                              "column": 8
                            },
                            "end": {
                              "line": 201,
                              "column": 84
                            }
                          },
                          "range": [
                            7260,
                            7336
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7517,
                      "end": 7545,
                      "loc": {
                        "start": {
                          "line": 206,
                          "column": 8
                        },
                        "end": {
                          "line": 206,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 7517,
                        "end": 7544,
                        "loc": {
                          "start": {
                            "line": 206,
                            "column": 8
                          },
                          "end": {
                            "line": 206,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 7517,
                          "end": 7527,
                          "loc": {
                            "start": {
                              "line": 206,
                              "column": 8
                            },
                            "end": {
                              "line": 206,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 7517,
                            "end": 7521,
                            "loc": {
                              "start": {
                                "line": 206,
                                "column": 8
                              },
                              "end": {
                                "line": 206,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7522,
                            "end": 7527,
                            "loc": {
                              "start": {
                                "line": 206,
                                "column": 13
                              },
                              "end": {
                                "line": 206,
                                "column": 18
                              }
                            },
                            "name": "width"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 7530,
                          "end": 7544,
                          "loc": {
                            "start": {
                              "line": 206,
                              "column": 21
                            },
                            "end": {
                              "line": 206,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 7530,
                            "end": 7534,
                            "loc": {
                              "start": {
                                "line": 206,
                                "column": 21
                              },
                              "end": {
                                "line": 206,
                                "column": 25
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7535,
                            "end": 7544,
                            "loc": {
                              "start": {
                                "line": 206,
                                "column": 26
                              },
                              "end": {
                                "line": 206,
                                "column": 35
                              }
                            },
                            "name": "thickness"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7554,
                      "end": 7633,
                      "loc": {
                        "start": {
                          "line": 207,
                          "column": 8
                        },
                        "end": {
                          "line": 207,
                          "column": 87
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 7554,
                        "end": 7632,
                        "loc": {
                          "start": {
                            "line": 207,
                            "column": 8
                          },
                          "end": {
                            "line": 207,
                            "column": 86
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 7554,
                          "end": 7562,
                          "loc": {
                            "start": {
                              "line": 207,
                              "column": 8
                            },
                            "end": {
                              "line": 207,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 7554,
                            "end": 7558,
                            "loc": {
                              "start": {
                                "line": 207,
                                "column": 8
                              },
                              "end": {
                                "line": 207,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7559,
                            "end": 7562,
                            "loc": {
                              "start": {
                                "line": 207,
                                "column": 13
                              },
                              "end": {
                                "line": 207,
                                "column": 16
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 7563,
                            "end": 7577,
                            "loc": {
                              "start": {
                                "line": 207,
                                "column": 17
                              },
                              "end": {
                                "line": 207,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 7563,
                              "end": 7574,
                              "loc": {
                                "start": {
                                  "line": 207,
                                  "column": 17
                                },
                                "end": {
                                  "line": 207,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 7563,
                                "end": 7567,
                                "loc": {
                                  "start": {
                                    "line": 207,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 207,
                                    "column": 21
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7568,
                                "end": 7574,
                                "loc": {
                                  "start": {
                                    "line": 207,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 207,
                                    "column": 28
                                  }
                                },
                                "name": "points"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Literal",
                              "start": 7575,
                              "end": 7576,
                              "loc": {
                                "start": {
                                  "line": 207,
                                  "column": 29
                                },
                                "end": {
                                  "line": 207,
                                  "column": 30
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "computed": true
                          },
                          {
                            "type": "MemberExpression",
                            "start": 7579,
                            "end": 7593,
                            "loc": {
                              "start": {
                                "line": 207,
                                "column": 33
                              },
                              "end": {
                                "line": 207,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 7579,
                              "end": 7590,
                              "loc": {
                                "start": {
                                  "line": 207,
                                  "column": 33
                                },
                                "end": {
                                  "line": 207,
                                  "column": 44
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 7579,
                                "end": 7583,
                                "loc": {
                                  "start": {
                                    "line": 207,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 207,
                                    "column": 37
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7584,
                                "end": 7590,
                                "loc": {
                                  "start": {
                                    "line": 207,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 207,
                                    "column": 44
                                  }
                                },
                                "name": "points"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Literal",
                              "start": 7591,
                              "end": 7592,
                              "loc": {
                                "start": {
                                  "line": 207,
                                  "column": 45
                                },
                                "end": {
                                  "line": 207,
                                  "column": 46
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "computed": true
                          },
                          {
                            "type": "MemberExpression",
                            "start": 7595,
                            "end": 7604,
                            "loc": {
                              "start": {
                                "line": 207,
                                "column": 49
                              },
                              "end": {
                                "line": 207,
                                "column": 58
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 7595,
                              "end": 7599,
                              "loc": {
                                "start": {
                                  "line": 207,
                                  "column": 49
                                },
                                "end": {
                                  "line": 207,
                                  "column": 53
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7600,
                              "end": 7604,
                              "loc": {
                                "start": {
                                  "line": 207,
                                  "column": 54
                                },
                                "end": {
                                  "line": 207,
                                  "column": 58
                                }
                              },
                              "name": "mesh"
                            },
                            "computed": false
                          },
                          {
                            "type": "MemberExpression",
                            "start": 7606,
                            "end": 7631,
                            "loc": {
                              "start": {
                                "line": 207,
                                "column": 60
                              },
                              "end": {
                                "line": 207,
                                "column": 85
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 7606,
                              "end": 7610,
                              "loc": {
                                "start": {
                                  "line": 207,
                                  "column": 60
                                },
                                "end": {
                                  "line": 207,
                                  "column": 64
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7611,
                              "end": 7631,
                              "loc": {
                                "start": {
                                  "line": 207,
                                  "column": 65
                                },
                                "end": {
                                  "line": 207,
                                  "column": 85
                                }
                              },
                              "name": "constraintsSubstrate"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7642,
                      "end": 7664,
                      "loc": {
                        "start": {
                          "line": 208,
                          "column": 8
                        },
                        "end": {
                          "line": 208,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 7642,
                        "end": 7663,
                        "loc": {
                          "start": {
                            "line": 208,
                            "column": 8
                          },
                          "end": {
                            "line": 208,
                            "column": 29
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 7642,
                          "end": 7661,
                          "loc": {
                            "start": {
                              "line": 208,
                              "column": 8
                            },
                            "end": {
                              "line": 208,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 7642,
                            "end": 7646,
                            "loc": {
                              "start": {
                                "line": 208,
                                "column": 8
                              },
                              "end": {
                                "line": 208,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7647,
                            "end": 7661,
                            "loc": {
                              "start": {
                                "line": 208,
                                "column": 13
                              },
                              "end": {
                                "line": 208,
                                "column": 27
                              }
                            },
                            "name": "updateGeometry"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 7676,
              "end": 7841,
              "loc": {
                "start": {
                  "line": 211,
                  "column": 4
                },
                "end": {
                  "line": 214,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 7676,
                "end": 7693,
                "loc": {
                  "start": {
                    "line": 211,
                    "column": 4
                  },
                  "end": {
                    "line": 211,
                    "column": 21
                  }
                },
                "name": "getMiddlePosition"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 7693,
                "end": 7841,
                "loc": {
                  "start": {
                    "line": 211,
                    "column": 21
                  },
                  "end": {
                    "line": 214,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 7696,
                  "end": 7841,
                  "loc": {
                    "start": {
                      "line": 211,
                      "column": 24
                    },
                    "end": {
                      "line": 214,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 7747,
                      "end": 7835,
                      "loc": {
                        "start": {
                          "line": 213,
                          "column": 8
                        },
                        "end": {
                          "line": 213,
                          "column": 96
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 7754,
                        "end": 7834,
                        "loc": {
                          "start": {
                            "line": 213,
                            "column": 15
                          },
                          "end": {
                            "line": 213,
                            "column": 95
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 7754,
                          "end": 7829,
                          "loc": {
                            "start": {
                              "line": 213,
                              "column": 15
                            },
                            "end": {
                              "line": 213,
                              "column": 90
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 7754,
                            "end": 7814,
                            "loc": {
                              "start": {
                                "line": 213,
                                "column": 15
                              },
                              "end": {
                                "line": 213,
                                "column": 75
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 7754,
                              "end": 7789,
                              "loc": {
                                "start": {
                                  "line": 213,
                                  "column": 15
                                },
                                "end": {
                                  "line": 213,
                                  "column": 50
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 7754,
                                "end": 7785,
                                "loc": {
                                  "start": {
                                    "line": 213,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 213,
                                    "column": 46
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 7754,
                                  "end": 7783,
                                  "loc": {
                                    "start": {
                                      "line": 213,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 213,
                                      "column": 44
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 7754,
                                    "end": 7777,
                                    "loc": {
                                      "start": {
                                        "line": 213,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 213,
                                        "column": 38
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 7754,
                                      "end": 7768,
                                      "loc": {
                                        "start": {
                                          "line": 213,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 213,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 7754,
                                        "end": 7765,
                                        "loc": {
                                          "start": {
                                            "line": 213,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 213,
                                            "column": 26
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 7754,
                                          "end": 7758,
                                          "loc": {
                                            "start": {
                                              "line": 213,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 213,
                                              "column": 19
                                            }
                                          },
                                          "leadingComments": null
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 7759,
                                          "end": 7765,
                                          "loc": {
                                            "start": {
                                              "line": 213,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 213,
                                              "column": 26
                                            }
                                          },
                                          "name": "points"
                                        },
                                        "computed": false,
                                        "leadingComments": null
                                      },
                                      "property": {
                                        "type": "Literal",
                                        "start": 7766,
                                        "end": 7767,
                                        "loc": {
                                          "start": {
                                            "line": 213,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 213,
                                            "column": 28
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "computed": true,
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7769,
                                      "end": 7777,
                                      "loc": {
                                        "start": {
                                          "line": 213,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 213,
                                          "column": 38
                                        }
                                      },
                                      "name": "position"
                                    },
                                    "computed": false,
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7778,
                                    "end": 7783,
                                    "loc": {
                                      "start": {
                                        "line": 213,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 213,
                                        "column": 44
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "arguments": [],
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7786,
                                "end": 7789,
                                "loc": {
                                  "start": {
                                    "line": 213,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 213,
                                    "column": 50
                                  }
                                },
                                "name": "add"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 7790,
                                "end": 7813,
                                "loc": {
                                  "start": {
                                    "line": 213,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 213,
                                    "column": 74
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 7790,
                                  "end": 7804,
                                  "loc": {
                                    "start": {
                                      "line": 213,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 213,
                                      "column": 65
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 7790,
                                    "end": 7801,
                                    "loc": {
                                      "start": {
                                        "line": 213,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 213,
                                        "column": 62
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 7790,
                                      "end": 7794,
                                      "loc": {
                                        "start": {
                                          "line": 213,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 213,
                                          "column": 55
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7795,
                                      "end": 7801,
                                      "loc": {
                                        "start": {
                                          "line": 213,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 213,
                                          "column": 62
                                        }
                                      },
                                      "name": "points"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 7802,
                                    "end": 7803,
                                    "loc": {
                                      "start": {
                                        "line": 213,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 213,
                                        "column": 64
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7805,
                                  "end": 7813,
                                  "loc": {
                                    "start": {
                                      "line": 213,
                                      "column": 66
                                    },
                                    "end": {
                                      "line": 213,
                                      "column": 74
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              }
                            ],
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7815,
                            "end": 7829,
                            "loc": {
                              "start": {
                                "line": 213,
                                "column": 76
                              },
                              "end": {
                                "line": 213,
                                "column": 90
                              }
                            },
                            "name": "multiplyScalar"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 7830,
                            "end": 7833,
                            "loc": {
                              "start": {
                                "line": 213,
                                "column": 91
                              },
                              "end": {
                                "line": 213,
                                "column": 94
                              }
                            },
                            "value": 0.5,
                            "rawValue": 0.5,
                            "raw": "0.5"
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "returns middle of line segment",
                          "start": 7706,
                          "end": 7738,
                          "loc": {
                            "start": {
                              "line": 212,
                              "column": 8
                            },
                            "end": {
                              "line": 212,
                              "column": 40
                            }
                          },
                          "range": [
                            7706,
                            7738
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 7847,
              "end": 8085,
              "loc": {
                "start": {
                  "line": 216,
                  "column": 4
                },
                "end": {
                  "line": 220,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 7847,
                "end": 7857,
                "loc": {
                  "start": {
                    "line": 216,
                    "column": 4
                  },
                  "end": {
                    "line": 216,
                    "column": 14
                  }
                },
                "name": "getTangent"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 7857,
                "end": 8085,
                "loc": {
                  "start": {
                    "line": 216,
                    "column": 14
                  },
                  "end": {
                    "line": 220,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 7858,
                    "end": 7865,
                    "loc": {
                      "start": {
                        "line": 216,
                        "column": 15
                      },
                      "end": {
                        "line": 216,
                        "column": 22
                      }
                    },
                    "name": "atPoint"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 7867,
                  "end": 8085,
                  "loc": {
                    "start": {
                      "line": 216,
                      "column": 24
                    },
                    "end": {
                      "line": 220,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 7923,
                      "end": 7994,
                      "loc": {
                        "start": {
                          "line": 218,
                          "column": 8
                        },
                        "end": {
                          "line": 218,
                          "column": 79
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7927,
                          "end": 7993,
                          "loc": {
                            "start": {
                              "line": 218,
                              "column": 12
                            },
                            "end": {
                              "line": 218,
                              "column": 78
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7927,
                            "end": 7930,
                            "loc": {
                              "start": {
                                "line": 218,
                                "column": 12
                              },
                              "end": {
                                "line": 218,
                                "column": 15
                              }
                            },
                            "name": "dir",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 7933,
                            "end": 7993,
                            "loc": {
                              "start": {
                                "line": 218,
                                "column": 18
                              },
                              "end": {
                                "line": 218,
                                "column": 78
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 7933,
                              "end": 7968,
                              "loc": {
                                "start": {
                                  "line": 218,
                                  "column": 18
                                },
                                "end": {
                                  "line": 218,
                                  "column": 53
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 7933,
                                "end": 7964,
                                "loc": {
                                  "start": {
                                    "line": 218,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 218,
                                    "column": 49
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 7933,
                                  "end": 7962,
                                  "loc": {
                                    "start": {
                                      "line": 218,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 218,
                                      "column": 47
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 7933,
                                    "end": 7956,
                                    "loc": {
                                      "start": {
                                        "line": 218,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 218,
                                        "column": 41
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 7933,
                                      "end": 7947,
                                      "loc": {
                                        "start": {
                                          "line": 218,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 218,
                                          "column": 32
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 7933,
                                        "end": 7944,
                                        "loc": {
                                          "start": {
                                            "line": 218,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 218,
                                            "column": 29
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 7933,
                                          "end": 7937,
                                          "loc": {
                                            "start": {
                                              "line": 218,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 218,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 7938,
                                          "end": 7944,
                                          "loc": {
                                            "start": {
                                              "line": 218,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 218,
                                              "column": 29
                                            }
                                          },
                                          "name": "points"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Literal",
                                        "start": 7945,
                                        "end": 7946,
                                        "loc": {
                                          "start": {
                                            "line": 218,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 218,
                                            "column": 31
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7948,
                                      "end": 7956,
                                      "loc": {
                                        "start": {
                                          "line": 218,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 218,
                                          "column": 41
                                        }
                                      },
                                      "name": "position"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7957,
                                    "end": 7962,
                                    "loc": {
                                      "start": {
                                        "line": 218,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 218,
                                        "column": 47
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7965,
                                "end": 7968,
                                "loc": {
                                  "start": {
                                    "line": 218,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 218,
                                    "column": 53
                                  }
                                },
                                "name": "sub"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 7969,
                                "end": 7992,
                                "loc": {
                                  "start": {
                                    "line": 218,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 218,
                                    "column": 77
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 7969,
                                  "end": 7983,
                                  "loc": {
                                    "start": {
                                      "line": 218,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 218,
                                      "column": 68
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 7969,
                                    "end": 7980,
                                    "loc": {
                                      "start": {
                                        "line": 218,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 218,
                                        "column": 65
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 7969,
                                      "end": 7973,
                                      "loc": {
                                        "start": {
                                          "line": 218,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 218,
                                          "column": 58
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7974,
                                      "end": 7980,
                                      "loc": {
                                        "start": {
                                          "line": 218,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 218,
                                          "column": 65
                                        }
                                      },
                                      "name": "points"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 7981,
                                    "end": 7982,
                                    "loc": {
                                      "start": {
                                        "line": 218,
                                        "column": 66
                                      },
                                      "end": {
                                        "line": 218,
                                        "column": 67
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7984,
                                  "end": 7992,
                                  "loc": {
                                    "start": {
                                      "line": 218,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 218,
                                      "column": 77
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "returns unit tangent or zero vector",
                          "start": 7877,
                          "end": 7914,
                          "loc": {
                            "start": {
                              "line": 217,
                              "column": 8
                            },
                            "end": {
                              "line": 217,
                              "column": 45
                            }
                          },
                          "range": [
                            7877,
                            7914
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 8003,
                      "end": 8079,
                      "loc": {
                        "start": {
                          "line": 219,
                          "column": 8
                        },
                        "end": {
                          "line": 219,
                          "column": 84
                        }
                      },
                      "argument": {
                        "type": "ConditionalExpression",
                        "start": 8011,
                        "end": 8077,
                        "loc": {
                          "start": {
                            "line": 219,
                            "column": 16
                          },
                          "end": {
                            "line": 219,
                            "column": 82
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 8011,
                          "end": 8030,
                          "loc": {
                            "start": {
                              "line": 219,
                              "column": 16
                            },
                            "end": {
                              "line": 219,
                              "column": 35
                            }
                          },
                          "left": {
                            "type": "CallExpression",
                            "start": 8011,
                            "end": 8023,
                            "loc": {
                              "start": {
                                "line": 219,
                                "column": 16
                              },
                              "end": {
                                "line": 219,
                                "column": 28
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8011,
                              "end": 8021,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 16
                                },
                                "end": {
                                  "line": 219,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8011,
                                "end": 8014,
                                "loc": {
                                  "start": {
                                    "line": 219,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 219,
                                    "column": 19
                                  }
                                },
                                "name": "dir"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8015,
                                "end": 8021,
                                "loc": {
                                  "start": {
                                    "line": 219,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 219,
                                    "column": 26
                                  }
                                },
                                "name": "length"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "operator": ">",
                          "right": {
                            "type": "Literal",
                            "start": 8026,
                            "end": 8030,
                            "loc": {
                              "start": {
                                "line": 219,
                                "column": 31
                              },
                              "end": {
                                "line": 219,
                                "column": 35
                              }
                            },
                            "value": 1e-9,
                            "rawValue": 1e-9,
                            "raw": "1e-9"
                          }
                        },
                        "consequent": {
                          "type": "CallExpression",
                          "start": 8033,
                          "end": 8048,
                          "loc": {
                            "start": {
                              "line": 219,
                              "column": 38
                            },
                            "end": {
                              "line": 219,
                              "column": 53
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8033,
                            "end": 8046,
                            "loc": {
                              "start": {
                                "line": 219,
                                "column": 38
                              },
                              "end": {
                                "line": 219,
                                "column": 51
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 8033,
                              "end": 8036,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 38
                                },
                                "end": {
                                  "line": 219,
                                  "column": 41
                                }
                              },
                              "name": "dir"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8037,
                              "end": 8046,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 42
                                },
                                "end": {
                                  "line": 219,
                                  "column": 51
                                }
                              },
                              "name": "normalize"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "alternate": {
                          "type": "NewExpression",
                          "start": 8051,
                          "end": 8077,
                          "loc": {
                            "start": {
                              "line": 219,
                              "column": 56
                            },
                            "end": {
                              "line": 219,
                              "column": 82
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8055,
                            "end": 8068,
                            "loc": {
                              "start": {
                                "line": 219,
                                "column": 60
                              },
                              "end": {
                                "line": 219,
                                "column": 73
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 8055,
                              "end": 8060,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 60
                                },
                                "end": {
                                  "line": 219,
                                  "column": 65
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8061,
                              "end": 8068,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 66
                                },
                                "end": {
                                  "line": 219,
                                  "column": 73
                                }
                              },
                              "name": "Vector3"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 8069,
                              "end": 8070,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 74
                                },
                                "end": {
                                  "line": 219,
                                  "column": 75
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            {
                              "type": "Literal",
                              "start": 8072,
                              "end": 8073,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 77
                                },
                                "end": {
                                  "line": 219,
                                  "column": 78
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            {
                              "type": "Literal",
                              "start": 8075,
                              "end": 8076,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 80
                                },
                                "end": {
                                  "line": 219,
                                  "column": 81
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          ]
                        },
                        "parenthesizedExpression": true
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 8091,
              "end": 8186,
              "loc": {
                "start": {
                  "line": 222,
                  "column": 4
                },
                "end": {
                  "line": 224,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 8091,
                "end": 8100,
                "loc": {
                  "start": {
                    "line": 222,
                    "column": 4
                  },
                  "end": {
                    "line": 222,
                    "column": 13
                  }
                },
                "name": "getLength"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 8100,
                "end": 8186,
                "loc": {
                  "start": {
                    "line": 222,
                    "column": 13
                  },
                  "end": {
                    "line": 224,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 8103,
                  "end": 8186,
                  "loc": {
                    "start": {
                      "line": 222,
                      "column": 16
                    },
                    "end": {
                      "line": 224,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 8113,
                      "end": 8180,
                      "loc": {
                        "start": {
                          "line": 223,
                          "column": 8
                        },
                        "end": {
                          "line": 223,
                          "column": 75
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 8120,
                        "end": 8179,
                        "loc": {
                          "start": {
                            "line": 223,
                            "column": 15
                          },
                          "end": {
                            "line": 223,
                            "column": 74
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8120,
                          "end": 8154,
                          "loc": {
                            "start": {
                              "line": 223,
                              "column": 15
                            },
                            "end": {
                              "line": 223,
                              "column": 49
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 8120,
                            "end": 8143,
                            "loc": {
                              "start": {
                                "line": 223,
                                "column": 15
                              },
                              "end": {
                                "line": 223,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 8120,
                              "end": 8134,
                              "loc": {
                                "start": {
                                  "line": 223,
                                  "column": 15
                                },
                                "end": {
                                  "line": 223,
                                  "column": 29
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 8120,
                                "end": 8131,
                                "loc": {
                                  "start": {
                                    "line": 223,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 223,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 8120,
                                  "end": 8124,
                                  "loc": {
                                    "start": {
                                      "line": 223,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 223,
                                      "column": 19
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8125,
                                  "end": 8131,
                                  "loc": {
                                    "start": {
                                      "line": 223,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 223,
                                      "column": 26
                                    }
                                  },
                                  "name": "points"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Literal",
                                "start": 8132,
                                "end": 8133,
                                "loc": {
                                  "start": {
                                    "line": 223,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 223,
                                    "column": 28
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "computed": true
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8135,
                              "end": 8143,
                              "loc": {
                                "start": {
                                  "line": 223,
                                  "column": 30
                                },
                                "end": {
                                  "line": 223,
                                  "column": 38
                                }
                              },
                              "name": "position"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8144,
                            "end": 8154,
                            "loc": {
                              "start": {
                                "line": 223,
                                "column": 39
                              },
                              "end": {
                                "line": 223,
                                "column": 49
                              }
                            },
                            "name": "distanceTo"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 8155,
                            "end": 8178,
                            "loc": {
                              "start": {
                                "line": 223,
                                "column": 50
                              },
                              "end": {
                                "line": 223,
                                "column": 73
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 8155,
                              "end": 8169,
                              "loc": {
                                "start": {
                                  "line": 223,
                                  "column": 50
                                },
                                "end": {
                                  "line": 223,
                                  "column": 64
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 8155,
                                "end": 8166,
                                "loc": {
                                  "start": {
                                    "line": 223,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 223,
                                    "column": 61
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 8155,
                                  "end": 8159,
                                  "loc": {
                                    "start": {
                                      "line": 223,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 223,
                                      "column": 54
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8160,
                                  "end": 8166,
                                  "loc": {
                                    "start": {
                                      "line": 223,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 223,
                                      "column": 61
                                    }
                                  },
                                  "name": "points"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Literal",
                                "start": 8167,
                                "end": 8168,
                                "loc": {
                                  "start": {
                                    "line": 223,
                                    "column": 62
                                  },
                                  "end": {
                                    "line": 223,
                                    "column": 63
                                  }
                                },
                                "value": 1,
                                "rawValue": 1,
                                "raw": "1"
                              },
                              "computed": true
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8170,
                              "end": 8178,
                              "loc": {
                                "start": {
                                  "line": 223,
                                  "column": 65
                                },
                                "end": {
                                  "line": 223,
                                  "column": 73
                                }
                              },
                              "name": "position"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 8192,
              "end": 8695,
              "loc": {
                "start": {
                  "line": 226,
                  "column": 4
                },
                "end": {
                  "line": 237,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 8198,
                "end": 8210,
                "loc": {
                  "start": {
                    "line": 226,
                    "column": 10
                  },
                  "end": {
                    "line": 226,
                    "column": 22
                  }
                },
                "name": "moveRelative"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 8210,
                "end": 8695,
                "loc": {
                  "start": {
                    "line": 226,
                    "column": 22
                  },
                  "end": {
                    "line": 237,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 8211,
                    "end": 8220,
                    "loc": {
                      "start": {
                        "line": 226,
                        "column": 23
                      },
                      "end": {
                        "line": 226,
                        "column": 32
                      }
                    },
                    "name": "direction"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 8222,
                  "end": 8695,
                  "loc": {
                    "start": {
                      "line": 226,
                      "column": 34
                    },
                    "end": {
                      "line": 237,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 8232,
                      "end": 8254,
                      "loc": {
                        "start": {
                          "line": 227,
                          "column": 8
                        },
                        "end": {
                          "line": 227,
                          "column": 30
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8236,
                          "end": 8253,
                          "loc": {
                            "start": {
                              "line": 227,
                              "column": 12
                            },
                            "end": {
                              "line": 227,
                              "column": 29
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8236,
                            "end": 8239,
                            "loc": {
                              "start": {
                                "line": 227,
                                "column": 12
                              },
                              "end": {
                                "line": 227,
                                "column": 15
                              }
                            },
                            "name": "pts"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 8242,
                            "end": 8253,
                            "loc": {
                              "start": {
                                "line": 227,
                                "column": 18
                              },
                              "end": {
                                "line": 227,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8242,
                              "end": 8246,
                              "loc": {
                                "start": {
                                  "line": 227,
                                  "column": 18
                                },
                                "end": {
                                  "line": 227,
                                  "column": 22
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8247,
                              "end": 8253,
                              "loc": {
                                "start": {
                                  "line": 227,
                                  "column": 23
                                },
                                "end": {
                                  "line": 227,
                                  "column": 29
                                }
                              },
                              "name": "points"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "let",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " set positions directly",
                          "start": 8263,
                          "end": 8288,
                          "loc": {
                            "start": {
                              "line": 228,
                              "column": 8
                            },
                            "end": {
                              "line": 228,
                              "column": 33
                            }
                          },
                          "range": [
                            8263,
                            8288
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8297,
                      "end": 8341,
                      "loc": {
                        "start": {
                          "line": 229,
                          "column": 8
                        },
                        "end": {
                          "line": 229,
                          "column": 52
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 8297,
                        "end": 8340,
                        "loc": {
                          "start": {
                            "line": 229,
                            "column": 8
                          },
                          "end": {
                            "line": 229,
                            "column": 51
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8297,
                          "end": 8308,
                          "loc": {
                            "start": {
                              "line": 229,
                              "column": 8
                            },
                            "end": {
                              "line": 229,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8297,
                            "end": 8300,
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 8
                              },
                              "end": {
                                "line": 229,
                                "column": 11
                              }
                            },
                            "name": "pts",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8301,
                            "end": 8308,
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 12
                              },
                              "end": {
                                "line": 229,
                                "column": 19
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 8309,
                            "end": 8339,
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 20
                              },
                              "end": {
                                "line": 229,
                                "column": 50
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 8309,
                                "end": 8310,
                                "loc": {
                                  "start": {
                                    "line": 229,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 229,
                                    "column": 21
                                  }
                                },
                                "name": "p"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 8314,
                              "end": 8339,
                              "loc": {
                                "start": {
                                  "line": 229,
                                  "column": 25
                                },
                                "end": {
                                  "line": 229,
                                  "column": 50
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 8314,
                                "end": 8328,
                                "loc": {
                                  "start": {
                                    "line": 229,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 229,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 8314,
                                  "end": 8324,
                                  "loc": {
                                    "start": {
                                      "line": 229,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 229,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8314,
                                    "end": 8315,
                                    "loc": {
                                      "start": {
                                        "line": 229,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 229,
                                        "column": 26
                                      }
                                    },
                                    "name": "p"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8316,
                                    "end": 8324,
                                    "loc": {
                                      "start": {
                                        "line": 229,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 229,
                                        "column": 35
                                      }
                                    },
                                    "name": "position"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8325,
                                  "end": 8328,
                                  "loc": {
                                    "start": {
                                      "line": 229,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 229,
                                      "column": 39
                                    }
                                  },
                                  "name": "add"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 8329,
                                  "end": 8338,
                                  "loc": {
                                    "start": {
                                      "line": 229,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 229,
                                      "column": 49
                                    }
                                  },
                                  "name": "direction"
                                }
                              ]
                            }
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " set positions directly",
                          "start": 8263,
                          "end": 8288,
                          "loc": {
                            "start": {
                              "line": 228,
                              "column": 8
                            },
                            "end": {
                              "line": 228,
                              "column": 33
                            }
                          },
                          "range": [
                            8263,
                            8288
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " update geometry after all points are moved",
                          "start": 8350,
                          "end": 8395,
                          "loc": {
                            "start": {
                              "line": 230,
                              "column": 8
                            },
                            "end": {
                              "line": 230,
                              "column": 53
                            }
                          },
                          "range": [
                            8350,
                            8395
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8404,
                      "end": 8426,
                      "loc": {
                        "start": {
                          "line": 231,
                          "column": 8
                        },
                        "end": {
                          "line": 231,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 8404,
                        "end": 8425,
                        "loc": {
                          "start": {
                            "line": 231,
                            "column": 8
                          },
                          "end": {
                            "line": 231,
                            "column": 29
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8404,
                          "end": 8423,
                          "loc": {
                            "start": {
                              "line": 231,
                              "column": 8
                            },
                            "end": {
                              "line": 231,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 8404,
                            "end": 8408,
                            "loc": {
                              "start": {
                                "line": 231,
                                "column": 8
                              },
                              "end": {
                                "line": 231,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8409,
                            "end": 8423,
                            "loc": {
                              "start": {
                                "line": 231,
                                "column": 13
                              },
                              "end": {
                                "line": 231,
                                "column": 27
                              }
                            },
                            "name": "updateGeometry"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " update geometry after all points are moved",
                          "start": 8350,
                          "end": 8395,
                          "loc": {
                            "start": {
                              "line": 230,
                              "column": 8
                            },
                            "end": {
                              "line": 230,
                              "column": 53
                            }
                          },
                          "range": [
                            8350,
                            8395
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "this.updateVisualization(); //TODO: why are endpoints not in sync otherwise?",
                          "start": 8435,
                          "end": 8513,
                          "loc": {
                            "start": {
                              "line": 232,
                              "column": 8
                            },
                            "end": {
                              "line": 232,
                              "column": 86
                            }
                          },
                          "range": [
                            8435,
                            8513
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " notify that all the points and the object were moved really",
                          "start": 8522,
                          "end": 8584,
                          "loc": {
                            "start": {
                              "line": 233,
                              "column": 8
                            },
                            "end": {
                              "line": 233,
                              "column": 70
                            }
                          },
                          "range": [
                            8522,
                            8584
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ForOfStatement",
                      "start": 8593,
                      "end": 8649,
                      "loc": {
                        "start": {
                          "line": 234,
                          "column": 8
                        },
                        "end": {
                          "line": 235,
                          "column": 37
                        }
                      },
                      "left": {
                        "type": "VariableDeclaration",
                        "start": 8598,
                        "end": 8603,
                        "loc": {
                          "start": {
                            "line": 234,
                            "column": 13
                          },
                          "end": {
                            "line": 234,
                            "column": 18
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 8602,
                            "end": 8603,
                            "loc": {
                              "start": {
                                "line": 234,
                                "column": 17
                              },
                              "end": {
                                "line": 234,
                                "column": 18
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 8602,
                              "end": 8603,
                              "loc": {
                                "start": {
                                  "line": 234,
                                  "column": 17
                                },
                                "end": {
                                  "line": 234,
                                  "column": 18
                                }
                              },
                              "name": "p",
                              "leadingComments": null
                            },
                            "init": null,
                            "leadingComments": null
                          }
                        ],
                        "kind": "let",
                        "leadingComments": null
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 8607,
                        "end": 8610,
                        "loc": {
                          "start": {
                            "line": 234,
                            "column": 22
                          },
                          "end": {
                            "line": 234,
                            "column": 25
                          }
                        },
                        "name": "pts"
                      },
                      "body": {
                        "type": "ExpressionStatement",
                        "start": 8624,
                        "end": 8649,
                        "loc": {
                          "start": {
                            "line": 235,
                            "column": 12
                          },
                          "end": {
                            "line": 235,
                            "column": 37
                          }
                        },
                        "expression": {
                          "type": "AwaitExpression",
                          "start": 8624,
                          "end": 8648,
                          "loc": {
                            "start": {
                              "line": 235,
                              "column": 12
                            },
                            "end": {
                              "line": 235,
                              "column": 36
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 8630,
                            "end": 8648,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 18
                              },
                              "end": {
                                "line": 235,
                                "column": 36
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8630,
                              "end": 8636,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 18
                                },
                                "end": {
                                  "line": 235,
                                  "column": 24
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8630,
                                "end": 8631,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 19
                                  }
                                },
                                "name": "p"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8632,
                                "end": 8636,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 24
                                  }
                                },
                                "name": "emit"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 8637,
                                "end": 8644,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 32
                                  }
                                },
                                "value": "moved",
                                "rawValue": "moved",
                                "raw": "'moved'"
                              },
                              {
                                "type": "Identifier",
                                "start": 8646,
                                "end": 8647,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 35
                                  }
                                },
                                "name": "p"
                              }
                            ]
                          }
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "this.updateVisualization(); //TODO: why are endpoints not in sync otherwise?",
                          "start": 8435,
                          "end": 8513,
                          "loc": {
                            "start": {
                              "line": 232,
                              "column": 8
                            },
                            "end": {
                              "line": 232,
                              "column": 86
                            }
                          },
                          "range": [
                            8435,
                            8513
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " notify that all the points and the object were moved really",
                          "start": 8522,
                          "end": 8584,
                          "loc": {
                            "start": {
                              "line": 233,
                              "column": 8
                            },
                            "end": {
                              "line": 233,
                              "column": 70
                            }
                          },
                          "range": [
                            8522,
                            8584
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8658,
                      "end": 8689,
                      "loc": {
                        "start": {
                          "line": 236,
                          "column": 8
                        },
                        "end": {
                          "line": 236,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 8658,
                        "end": 8688,
                        "loc": {
                          "start": {
                            "line": 236,
                            "column": 8
                          },
                          "end": {
                            "line": 236,
                            "column": 38
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 8664,
                          "end": 8688,
                          "loc": {
                            "start": {
                              "line": 236,
                              "column": 14
                            },
                            "end": {
                              "line": 236,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8664,
                            "end": 8673,
                            "loc": {
                              "start": {
                                "line": 236,
                                "column": 14
                              },
                              "end": {
                                "line": 236,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8664,
                              "end": 8668,
                              "loc": {
                                "start": {
                                  "line": 236,
                                  "column": 14
                                },
                                "end": {
                                  "line": 236,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8669,
                              "end": 8673,
                              "loc": {
                                "start": {
                                  "line": 236,
                                  "column": 19
                                },
                                "end": {
                                  "line": 236,
                                  "column": 23
                                }
                              },
                              "name": "emit"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 8674,
                              "end": 8681,
                              "loc": {
                                "start": {
                                  "line": 236,
                                  "column": 24
                                },
                                "end": {
                                  "line": 236,
                                  "column": 31
                                }
                              },
                              "value": "moved",
                              "rawValue": "moved",
                              "raw": "'moved'"
                            },
                            {
                              "type": "ThisExpression",
                              "start": 8683,
                              "end": 8687,
                              "loc": {
                                "start": {
                                  "line": 236,
                                  "column": 33
                                },
                                "end": {
                                  "line": 236,
                                  "column": 37
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 8701,
              "end": 8946,
              "loc": {
                "start": {
                  "line": 239,
                  "column": 4
                },
                "end": {
                  "line": 245,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 8707,
                "end": 8714,
                "loc": {
                  "start": {
                    "line": 239,
                    "column": 10
                  },
                  "end": {
                    "line": 239,
                    "column": 17
                  }
                },
                "name": "endDrag"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 8714,
                "end": 8946,
                "loc": {
                  "start": {
                    "line": 239,
                    "column": 17
                  },
                  "end": {
                    "line": 245,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 8715,
                    "end": 8721,
                    "loc": {
                      "start": {
                        "line": 239,
                        "column": 18
                      },
                      "end": {
                        "line": 239,
                        "column": 24
                      }
                    },
                    "name": "sketch"
                  },
                  {
                    "type": "Identifier",
                    "start": 8723,
                    "end": 8729,
                    "loc": {
                      "start": {
                        "line": 239,
                        "column": 26
                      },
                      "end": {
                        "line": 239,
                        "column": 32
                      }
                    },
                    "name": "server"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 8731,
                  "end": 8946,
                  "loc": {
                    "start": {
                      "line": 239,
                      "column": 34
                    },
                    "end": {
                      "line": 245,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 8741,
                      "end": 8888,
                      "loc": {
                        "start": {
                          "line": 240,
                          "column": 8
                        },
                        "end": {
                          "line": 243,
                          "column": 15
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 8745,
                        "end": 8768,
                        "loc": {
                          "start": {
                            "line": 240,
                            "column": 12
                          },
                          "end": {
                            "line": 240,
                            "column": 35
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8745,
                          "end": 8762,
                          "loc": {
                            "start": {
                              "line": 240,
                              "column": 12
                            },
                            "end": {
                              "line": 240,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8745,
                            "end": 8751,
                            "loc": {
                              "start": {
                                "line": 240,
                                "column": 12
                              },
                              "end": {
                                "line": 240,
                                "column": 18
                              }
                            },
                            "name": "sketch"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8752,
                            "end": 8762,
                            "loc": {
                              "start": {
                                "line": 240,
                                "column": 19
                              },
                              "end": {
                                "line": 240,
                                "column": 29
                              }
                            },
                            "name": "isOnSketch"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 8763,
                            "end": 8767,
                            "loc": {
                              "start": {
                                "line": 240,
                                "column": 30
                              },
                              "end": {
                                "line": 240,
                                "column": 34
                              }
                            }
                          }
                        ]
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 8782,
                        "end": 8888,
                        "loc": {
                          "start": {
                            "line": 241,
                            "column": 12
                          },
                          "end": {
                            "line": 243,
                            "column": 15
                          }
                        },
                        "expression": {
                          "type": "AwaitExpression",
                          "start": 8782,
                          "end": 8887,
                          "loc": {
                            "start": {
                              "line": 241,
                              "column": 12
                            },
                            "end": {
                              "line": 243,
                              "column": 14
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 8788,
                            "end": 8887,
                            "loc": {
                              "start": {
                                "line": 241,
                                "column": 18
                              },
                              "end": {
                                "line": 243,
                                "column": 14
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8788,
                              "end": 8811,
                              "loc": {
                                "start": {
                                  "line": 241,
                                  "column": 18
                                },
                                "end": {
                                  "line": 241,
                                  "column": 41
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8788,
                                "end": 8794,
                                "loc": {
                                  "start": {
                                    "line": 241,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 241,
                                    "column": 24
                                  }
                                },
                                "name": "sketch"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8795,
                                "end": 8811,
                                "loc": {
                                  "start": {
                                    "line": 241,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 241,
                                    "column": 41
                                  }
                                },
                                "name": "updateFromServer"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 8812,
                                "end": 8818,
                                "loc": {
                                  "start": {
                                    "line": 241,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 241,
                                    "column": 48
                                  }
                                },
                                "name": "server"
                              },
                              {
                                "type": "ArrayExpression",
                                "start": 8820,
                                "end": 8886,
                                "loc": {
                                  "start": {
                                    "line": 241,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 243,
                                    "column": 13
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "CallExpression",
                                    "start": 8838,
                                    "end": 8872,
                                    "loc": {
                                      "start": {
                                        "line": 242,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 242,
                                        "column": 50
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 8838,
                                      "end": 8864,
                                      "loc": {
                                        "start": {
                                          "line": 242,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 242,
                                          "column": 42
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 8838,
                                        "end": 8842,
                                        "loc": {
                                          "start": {
                                            "line": 242,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 242,
                                            "column": 20
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8843,
                                        "end": 8864,
                                        "loc": {
                                          "start": {
                                            "line": 242,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 242,
                                            "column": 42
                                          }
                                        },
                                        "name": "prepareUpdateToServer"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 8865,
                                        "end": 8871,
                                        "loc": {
                                          "start": {
                                            "line": 242,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 242,
                                            "column": 49
                                          }
                                        },
                                        "name": "sketch"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8897,
                      "end": 8940,
                      "loc": {
                        "start": {
                          "line": 244,
                          "column": 8
                        },
                        "end": {
                          "line": 244,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 8897,
                        "end": 8939,
                        "loc": {
                          "start": {
                            "line": 244,
                            "column": 8
                          },
                          "end": {
                            "line": 244,
                            "column": 50
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 8903,
                          "end": 8939,
                          "loc": {
                            "start": {
                              "line": 244,
                              "column": 14
                            },
                            "end": {
                              "line": 244,
                              "column": 50
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8903,
                            "end": 8912,
                            "loc": {
                              "start": {
                                "line": 244,
                                "column": 14
                              },
                              "end": {
                                "line": 244,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8903,
                              "end": 8907,
                              "loc": {
                                "start": {
                                  "line": 244,
                                  "column": 14
                                },
                                "end": {
                                  "line": 244,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8908,
                              "end": 8912,
                              "loc": {
                                "start": {
                                  "line": 244,
                                  "column": 19
                                },
                                "end": {
                                  "line": 244,
                                  "column": 23
                                }
                              },
                              "name": "emit"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 8913,
                              "end": 8922,
                              "loc": {
                                "start": {
                                  "line": 244,
                                  "column": 24
                                },
                                "end": {
                                  "line": 244,
                                  "column": 33
                                }
                              },
                              "value": "dragend",
                              "rawValue": "dragend",
                              "raw": "'dragend'"
                            },
                            {
                              "type": "Identifier",
                              "start": 8924,
                              "end": 8930,
                              "loc": {
                                "start": {
                                  "line": 244,
                                  "column": 35
                                },
                                "end": {
                                  "line": 244,
                                  "column": 41
                                }
                              },
                              "name": "sketch"
                            },
                            {
                              "type": "Identifier",
                              "start": 8932,
                              "end": 8938,
                              "loc": {
                                "start": {
                                  "line": 244,
                                  "column": 43
                                },
                                "end": {
                                  "line": 244,
                                  "column": 49
                                }
                              },
                              "name": "server"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 8952,
              "end": 9099,
              "loc": {
                "start": {
                  "line": 247,
                  "column": 4
                },
                "end": {
                  "line": 250,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 8952,
                "end": 8962,
                "loc": {
                  "start": {
                    "line": 247,
                    "column": 4
                  },
                  "end": {
                    "line": 247,
                    "column": 14
                  }
                },
                "name": "setVisible"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 8962,
                "end": 9099,
                "loc": {
                  "start": {
                    "line": 247,
                    "column": 14
                  },
                  "end": {
                    "line": 250,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 8963,
                    "end": 8973,
                    "loc": {
                      "start": {
                        "line": 247,
                        "column": 15
                      },
                      "end": {
                        "line": 247,
                        "column": 25
                      }
                    },
                    "name": "visibility"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 8975,
                  "end": 9099,
                  "loc": {
                    "start": {
                      "line": 247,
                      "column": 27
                    },
                    "end": {
                      "line": 250,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 8985,
                      "end": 9025,
                      "loc": {
                        "start": {
                          "line": 248,
                          "column": 8
                        },
                        "end": {
                          "line": 248,
                          "column": 48
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 8985,
                        "end": 9024,
                        "loc": {
                          "start": {
                            "line": 248,
                            "column": 8
                          },
                          "end": {
                            "line": 248,
                            "column": 47
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 8985,
                          "end": 9011,
                          "loc": {
                            "start": {
                              "line": 248,
                              "column": 8
                            },
                            "end": {
                              "line": 248,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 8985,
                            "end": 9003,
                            "loc": {
                              "start": {
                                "line": 248,
                                "column": 8
                              },
                              "end": {
                                "line": 248,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 8985,
                              "end": 8994,
                              "loc": {
                                "start": {
                                  "line": 248,
                                  "column": 8
                                },
                                "end": {
                                  "line": 248,
                                  "column": 17
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 8985,
                                "end": 8989,
                                "loc": {
                                  "start": {
                                    "line": 248,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 248,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8990,
                                "end": 8994,
                                "loc": {
                                  "start": {
                                    "line": 248,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 248,
                                    "column": 17
                                  }
                                },
                                "name": "mesh"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8995,
                              "end": 9003,
                              "loc": {
                                "start": {
                                  "line": 248,
                                  "column": 18
                                },
                                "end": {
                                  "line": 248,
                                  "column": 26
                                }
                              },
                              "name": "material"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9004,
                            "end": 9011,
                            "loc": {
                              "start": {
                                "line": 248,
                                "column": 27
                              },
                              "end": {
                                "line": 248,
                                "column": 34
                              }
                            },
                            "name": "visible"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 9014,
                          "end": 9024,
                          "loc": {
                            "start": {
                              "line": 248,
                              "column": 37
                            },
                            "end": {
                              "line": 248,
                              "column": 47
                            }
                          },
                          "name": "visibility"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 9034,
                      "end": 9093,
                      "loc": {
                        "start": {
                          "line": 249,
                          "column": 8
                        },
                        "end": {
                          "line": 249,
                          "column": 67
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 9034,
                        "end": 9092,
                        "loc": {
                          "start": {
                            "line": 249,
                            "column": 8
                          },
                          "end": {
                            "line": 249,
                            "column": 66
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 9034,
                          "end": 9053,
                          "loc": {
                            "start": {
                              "line": 249,
                              "column": 8
                            },
                            "end": {
                              "line": 249,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 9034,
                            "end": 9045,
                            "loc": {
                              "start": {
                                "line": 249,
                                "column": 8
                              },
                              "end": {
                                "line": 249,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 9034,
                              "end": 9038,
                              "loc": {
                                "start": {
                                  "line": 249,
                                  "column": 8
                                },
                                "end": {
                                  "line": 249,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9039,
                              "end": 9045,
                              "loc": {
                                "start": {
                                  "line": 249,
                                  "column": 13
                                },
                                "end": {
                                  "line": 249,
                                  "column": 19
                                }
                              },
                              "name": "points"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9046,
                            "end": 9053,
                            "loc": {
                              "start": {
                                "line": 249,
                                "column": 20
                              },
                              "end": {
                                "line": 249,
                                "column": 27
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 9054,
                            "end": 9091,
                            "loc": {
                              "start": {
                                "line": 249,
                                "column": 28
                              },
                              "end": {
                                "line": 249,
                                "column": 65
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 9054,
                                "end": 9059,
                                "loc": {
                                  "start": {
                                    "line": 249,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 249,
                                    "column": 33
                                  }
                                },
                                "name": "point"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 9063,
                              "end": 9091,
                              "loc": {
                                "start": {
                                  "line": 249,
                                  "column": 37
                                },
                                "end": {
                                  "line": 249,
                                  "column": 65
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 9063,
                                "end": 9079,
                                "loc": {
                                  "start": {
                                    "line": 249,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 249,
                                    "column": 53
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 9063,
                                  "end": 9068,
                                  "loc": {
                                    "start": {
                                      "line": 249,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 249,
                                      "column": 42
                                    }
                                  },
                                  "name": "point"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9069,
                                  "end": 9079,
                                  "loc": {
                                    "start": {
                                      "line": 249,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 249,
                                      "column": 53
                                    }
                                  },
                                  "name": "setVisible"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 9080,
                                  "end": 9090,
                                  "loc": {
                                    "start": {
                                      "line": 249,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 249,
                                      "column": 64
                                    }
                                  },
                                  "name": "visibility"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 9105,
              "end": 9124,
              "loc": {
                "start": {
                  "line": 252,
                  "column": 4
                },
                "end": {
                  "line": 252,
                  "column": 23
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9105,
                "end": 9119,
                "loc": {
                  "start": {
                    "line": 252,
                    "column": 4
                  },
                  "end": {
                    "line": 252,
                    "column": 18
                  }
                },
                "name": "updateGeometry"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9119,
                "end": 9124,
                "loc": {
                  "start": {
                    "line": 252,
                    "column": 18
                  },
                  "end": {
                    "line": 252,
                    "column": 23
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 9122,
                  "end": 9124,
                  "loc": {
                    "start": {
                      "line": 252,
                      "column": 21
                    },
                    "end": {
                      "line": 252,
                      "column": 23
                    }
                  },
                  "body": []
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 9130,
              "end": 9659,
              "loc": {
                "start": {
                  "line": 254,
                  "column": 4
                },
                "end": {
                  "line": 262,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9130,
                "end": 9150,
                "loc": {
                  "start": {
                    "line": 254,
                    "column": 4
                  },
                  "end": {
                    "line": 254,
                    "column": 24
                  }
                },
                "name": "getAuxiliaryGeometry"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9150,
                "end": 9659,
                "loc": {
                  "start": {
                    "line": 254,
                    "column": 24
                  },
                  "end": {
                    "line": 262,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 9153,
                  "end": 9659,
                  "loc": {
                    "start": {
                      "line": 254,
                      "column": 27
                    },
                    "end": {
                      "line": 262,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 9163,
                      "end": 9249,
                      "loc": {
                        "start": {
                          "line": 255,
                          "column": 8
                        },
                        "end": {
                          "line": 255,
                          "column": 94
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9167,
                          "end": 9248,
                          "loc": {
                            "start": {
                              "line": 255,
                              "column": 12
                            },
                            "end": {
                              "line": 255,
                              "column": 93
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9167,
                            "end": 9173,
                            "loc": {
                              "start": {
                                "line": 255,
                                "column": 12
                              },
                              "end": {
                                "line": 255,
                                "column": 18
                              }
                            },
                            "name": "normal"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 9176,
                            "end": 9248,
                            "loc": {
                              "start": {
                                "line": 255,
                                "column": 21
                              },
                              "end": {
                                "line": 255,
                                "column": 93
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9176,
                              "end": 9246,
                              "loc": {
                                "start": {
                                  "line": 255,
                                  "column": 21
                                },
                                "end": {
                                  "line": 255,
                                  "column": 91
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 9176,
                                "end": 9236,
                                "loc": {
                                  "start": {
                                    "line": 255,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 255,
                                    "column": 81
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9176,
                                  "end": 9211,
                                  "loc": {
                                    "start": {
                                      "line": 255,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 255,
                                      "column": 56
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 9176,
                                    "end": 9207,
                                    "loc": {
                                      "start": {
                                        "line": 255,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 255,
                                        "column": 52
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 9176,
                                      "end": 9205,
                                      "loc": {
                                        "start": {
                                          "line": 255,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 255,
                                          "column": 50
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 9176,
                                        "end": 9199,
                                        "loc": {
                                          "start": {
                                            "line": 255,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 255,
                                            "column": 44
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 9176,
                                          "end": 9190,
                                          "loc": {
                                            "start": {
                                              "line": 255,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 255,
                                              "column": 35
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 9176,
                                            "end": 9187,
                                            "loc": {
                                              "start": {
                                                "line": 255,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 255,
                                                "column": 32
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 9176,
                                              "end": 9180,
                                              "loc": {
                                                "start": {
                                                  "line": 255,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 255,
                                                  "column": 25
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 9181,
                                              "end": 9187,
                                              "loc": {
                                                "start": {
                                                  "line": 255,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 255,
                                                  "column": 32
                                                }
                                              },
                                              "name": "points"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "start": 9188,
                                            "end": 9189,
                                            "loc": {
                                              "start": {
                                                "line": 255,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 255,
                                                "column": 34
                                              }
                                            },
                                            "value": 1,
                                            "rawValue": 1,
                                            "raw": "1"
                                          },
                                          "computed": true
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9191,
                                          "end": 9199,
                                          "loc": {
                                            "start": {
                                              "line": 255,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 255,
                                              "column": 44
                                            }
                                          },
                                          "name": "position"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9200,
                                        "end": 9205,
                                        "loc": {
                                          "start": {
                                            "line": 255,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 255,
                                            "column": 50
                                          }
                                        },
                                        "name": "clone"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9208,
                                    "end": 9211,
                                    "loc": {
                                      "start": {
                                        "line": 255,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 255,
                                        "column": 56
                                      }
                                    },
                                    "name": "sub"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 9212,
                                    "end": 9235,
                                    "loc": {
                                      "start": {
                                        "line": 255,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 255,
                                        "column": 80
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 9212,
                                      "end": 9226,
                                      "loc": {
                                        "start": {
                                          "line": 255,
                                          "column": 57
                                        },
                                        "end": {
                                          "line": 255,
                                          "column": 71
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 9212,
                                        "end": 9223,
                                        "loc": {
                                          "start": {
                                            "line": 255,
                                            "column": 57
                                          },
                                          "end": {
                                            "line": 255,
                                            "column": 68
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 9212,
                                          "end": 9216,
                                          "loc": {
                                            "start": {
                                              "line": 255,
                                              "column": 57
                                            },
                                            "end": {
                                              "line": 255,
                                              "column": 61
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9217,
                                          "end": 9223,
                                          "loc": {
                                            "start": {
                                              "line": 255,
                                              "column": 62
                                            },
                                            "end": {
                                              "line": 255,
                                              "column": 68
                                            }
                                          },
                                          "name": "points"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Literal",
                                        "start": 9224,
                                        "end": 9225,
                                        "loc": {
                                          "start": {
                                            "line": 255,
                                            "column": 69
                                          },
                                          "end": {
                                            "line": 255,
                                            "column": 70
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9227,
                                      "end": 9235,
                                      "loc": {
                                        "start": {
                                          "line": 255,
                                          "column": 72
                                        },
                                        "end": {
                                          "line": 255,
                                          "column": 80
                                        }
                                      },
                                      "name": "position"
                                    },
                                    "computed": false
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9237,
                                "end": 9246,
                                "loc": {
                                  "start": {
                                    "line": 255,
                                    "column": 82
                                  },
                                  "end": {
                                    "line": 255,
                                    "column": 91
                                  }
                                },
                                "name": "normalize"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 9258,
                      "end": 9301,
                      "loc": {
                        "start": {
                          "line": 256,
                          "column": 8
                        },
                        "end": {
                          "line": 256,
                          "column": 51
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9262,
                          "end": 9300,
                          "loc": {
                            "start": {
                              "line": 256,
                              "column": 12
                            },
                            "end": {
                              "line": 256,
                              "column": 50
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9262,
                            "end": 9267,
                            "loc": {
                              "start": {
                                "line": 256,
                                "column": 12
                              },
                              "end": {
                                "line": 256,
                                "column": 17
                              }
                            },
                            "name": "coeff"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 9270,
                            "end": 9300,
                            "loc": {
                              "start": {
                                "line": 256,
                                "column": 20
                              },
                              "end": {
                                "line": 256,
                                "column": 50
                              }
                            },
                            "left": {
                              "type": "Literal",
                              "start": 9270,
                              "end": 9275,
                              "loc": {
                                "start": {
                                  "line": 256,
                                  "column": 20
                                },
                                "end": {
                                  "line": 256,
                                  "column": 25
                                }
                              },
                              "value": 10000,
                              "rawValue": 10000,
                              "raw": "10000"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 9278,
                              "end": 9300,
                              "loc": {
                                "start": {
                                  "line": 256,
                                  "column": 28
                                },
                                "end": {
                                  "line": 256,
                                  "column": 50
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 9278,
                                "end": 9298,
                                "loc": {
                                  "start": {
                                    "line": 256,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 256,
                                    "column": 48
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 9278,
                                  "end": 9292,
                                  "loc": {
                                    "start": {
                                      "line": 256,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 256,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 9278,
                                    "end": 9289,
                                    "loc": {
                                      "start": {
                                        "line": 256,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 256,
                                        "column": 39
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9278,
                                      "end": 9282,
                                      "loc": {
                                        "start": {
                                          "line": 256,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 256,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9283,
                                      "end": 9289,
                                      "loc": {
                                        "start": {
                                          "line": 256,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 256,
                                          "column": 39
                                        }
                                      },
                                      "name": "points"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 9290,
                                    "end": 9291,
                                    "loc": {
                                      "start": {
                                        "line": 256,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 256,
                                        "column": 41
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9293,
                                  "end": 9298,
                                  "loc": {
                                    "start": {
                                      "line": 256,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 256,
                                      "column": 48
                                    }
                                  },
                                  "name": "scale"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9299,
                                "end": 9300,
                                "loc": {
                                  "start": {
                                    "line": 256,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 256,
                                    "column": 50
                                  }
                                },
                                "name": "x"
                              },
                              "computed": false
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 9310,
                      "end": 9422,
                      "loc": {
                        "start": {
                          "line": 257,
                          "column": 8
                        },
                        "end": {
                          "line": 257,
                          "column": 120
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9314,
                          "end": 9421,
                          "loc": {
                            "start": {
                              "line": 257,
                              "column": 12
                            },
                            "end": {
                              "line": 257,
                              "column": 119
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9314,
                            "end": 9315,
                            "loc": {
                              "start": {
                                "line": 257,
                                "column": 12
                              },
                              "end": {
                                "line": 257,
                                "column": 13
                              }
                            },
                            "name": "a"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 9318,
                            "end": 9421,
                            "loc": {
                              "start": {
                                "line": 257,
                                "column": 16
                              },
                              "end": {
                                "line": 257,
                                "column": 119
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9318,
                              "end": 9353,
                              "loc": {
                                "start": {
                                  "line": 257,
                                  "column": 16
                                },
                                "end": {
                                  "line": 257,
                                  "column": 51
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 9318,
                                "end": 9349,
                                "loc": {
                                  "start": {
                                    "line": 257,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 257,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9318,
                                  "end": 9347,
                                  "loc": {
                                    "start": {
                                      "line": 257,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 257,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 9318,
                                    "end": 9341,
                                    "loc": {
                                      "start": {
                                        "line": 257,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 257,
                                        "column": 39
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 9318,
                                      "end": 9332,
                                      "loc": {
                                        "start": {
                                          "line": 257,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 257,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 9318,
                                        "end": 9329,
                                        "loc": {
                                          "start": {
                                            "line": 257,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 257,
                                            "column": 27
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 9318,
                                          "end": 9322,
                                          "loc": {
                                            "start": {
                                              "line": 257,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 257,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9323,
                                          "end": 9329,
                                          "loc": {
                                            "start": {
                                              "line": 257,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 257,
                                              "column": 27
                                            }
                                          },
                                          "name": "points"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Literal",
                                        "start": 9330,
                                        "end": 9331,
                                        "loc": {
                                          "start": {
                                            "line": 257,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 257,
                                            "column": 29
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9333,
                                      "end": 9341,
                                      "loc": {
                                        "start": {
                                          "line": 257,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 257,
                                          "column": 39
                                        }
                                      },
                                      "name": "position"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9342,
                                    "end": 9347,
                                    "loc": {
                                      "start": {
                                        "line": 257,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 257,
                                        "column": 45
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9350,
                                "end": 9353,
                                "loc": {
                                  "start": {
                                    "line": 257,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 257,
                                    "column": 51
                                  }
                                },
                                "name": "add"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 9354,
                                "end": 9420,
                                "loc": {
                                  "start": {
                                    "line": 257,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 257,
                                    "column": 118
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9354,
                                  "end": 9394,
                                  "loc": {
                                    "start": {
                                      "line": 257,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 257,
                                      "column": 92
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 9354,
                                    "end": 9390,
                                    "loc": {
                                      "start": {
                                        "line": 257,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 257,
                                        "column": 88
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 9354,
                                      "end": 9383,
                                      "loc": {
                                        "start": {
                                          "line": 257,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 257,
                                          "column": 81
                                        }
                                      },
                                      "object": {
                                        "type": "CallExpression",
                                        "start": 9354,
                                        "end": 9368,
                                        "loc": {
                                          "start": {
                                            "line": 257,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 257,
                                            "column": 66
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 9354,
                                          "end": 9366,
                                          "loc": {
                                            "start": {
                                              "line": 257,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 257,
                                              "column": 64
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 9354,
                                            "end": 9360,
                                            "loc": {
                                              "start": {
                                                "line": 257,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 257,
                                                "column": 58
                                              }
                                            },
                                            "name": "normal"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 9361,
                                            "end": 9366,
                                            "loc": {
                                              "start": {
                                                "line": 257,
                                                "column": 59
                                              },
                                              "end": {
                                                "line": 257,
                                                "column": 64
                                              }
                                            },
                                            "name": "clone"
                                          },
                                          "computed": false
                                        },
                                        "arguments": []
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9369,
                                        "end": 9383,
                                        "loc": {
                                          "start": {
                                            "line": 257,
                                            "column": 67
                                          },
                                          "end": {
                                            "line": 257,
                                            "column": 81
                                          }
                                        },
                                        "name": "multiplyScalar"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 9384,
                                        "end": 9389,
                                        "loc": {
                                          "start": {
                                            "line": 257,
                                            "column": 82
                                          },
                                          "end": {
                                            "line": 257,
                                            "column": 87
                                          }
                                        },
                                        "name": "coeff"
                                      }
                                    ]
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9391,
                                    "end": 9394,
                                    "loc": {
                                      "start": {
                                        "line": 257,
                                        "column": 89
                                      },
                                      "end": {
                                        "line": 257,
                                        "column": 92
                                      }
                                    },
                                    "name": "sub"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 9395,
                                    "end": 9419,
                                    "loc": {
                                      "start": {
                                        "line": 257,
                                        "column": 93
                                      },
                                      "end": {
                                        "line": 257,
                                        "column": 117
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 9395,
                                      "end": 9417,
                                      "loc": {
                                        "start": {
                                          "line": 257,
                                          "column": 93
                                        },
                                        "end": {
                                          "line": 257,
                                          "column": 115
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 9395,
                                        "end": 9399,
                                        "loc": {
                                          "start": {
                                            "line": 257,
                                            "column": 93
                                          },
                                          "end": {
                                            "line": 257,
                                            "column": 97
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9400,
                                        "end": 9417,
                                        "loc": {
                                          "start": {
                                            "line": 257,
                                            "column": 98
                                          },
                                          "end": {
                                            "line": 257,
                                            "column": 115
                                          }
                                        },
                                        "name": "getMiddlePosition"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 9431,
                      "end": 9544,
                      "loc": {
                        "start": {
                          "line": 258,
                          "column": 8
                        },
                        "end": {
                          "line": 258,
                          "column": 121
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9435,
                          "end": 9543,
                          "loc": {
                            "start": {
                              "line": 258,
                              "column": 12
                            },
                            "end": {
                              "line": 258,
                              "column": 120
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9435,
                            "end": 9436,
                            "loc": {
                              "start": {
                                "line": 258,
                                "column": 12
                              },
                              "end": {
                                "line": 258,
                                "column": 13
                              }
                            },
                            "name": "b"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 9439,
                            "end": 9543,
                            "loc": {
                              "start": {
                                "line": 258,
                                "column": 16
                              },
                              "end": {
                                "line": 258,
                                "column": 120
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9439,
                              "end": 9474,
                              "loc": {
                                "start": {
                                  "line": 258,
                                  "column": 16
                                },
                                "end": {
                                  "line": 258,
                                  "column": 51
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 9439,
                                "end": 9470,
                                "loc": {
                                  "start": {
                                    "line": 258,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 258,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9439,
                                  "end": 9468,
                                  "loc": {
                                    "start": {
                                      "line": 258,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 258,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 9439,
                                    "end": 9462,
                                    "loc": {
                                      "start": {
                                        "line": 258,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 258,
                                        "column": 39
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 9439,
                                      "end": 9453,
                                      "loc": {
                                        "start": {
                                          "line": 258,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 258,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 9439,
                                        "end": 9450,
                                        "loc": {
                                          "start": {
                                            "line": 258,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 258,
                                            "column": 27
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 9439,
                                          "end": 9443,
                                          "loc": {
                                            "start": {
                                              "line": 258,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 258,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9444,
                                          "end": 9450,
                                          "loc": {
                                            "start": {
                                              "line": 258,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 258,
                                              "column": 27
                                            }
                                          },
                                          "name": "points"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Literal",
                                        "start": 9451,
                                        "end": 9452,
                                        "loc": {
                                          "start": {
                                            "line": 258,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 258,
                                            "column": 29
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9454,
                                      "end": 9462,
                                      "loc": {
                                        "start": {
                                          "line": 258,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 258,
                                          "column": 39
                                        }
                                      },
                                      "name": "position"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9463,
                                    "end": 9468,
                                    "loc": {
                                      "start": {
                                        "line": 258,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 258,
                                        "column": 45
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9471,
                                "end": 9474,
                                "loc": {
                                  "start": {
                                    "line": 258,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 258,
                                    "column": 51
                                  }
                                },
                                "name": "add"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 9475,
                                "end": 9542,
                                "loc": {
                                  "start": {
                                    "line": 258,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 258,
                                    "column": 119
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9475,
                                  "end": 9516,
                                  "loc": {
                                    "start": {
                                      "line": 258,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 258,
                                      "column": 93
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 9475,
                                    "end": 9512,
                                    "loc": {
                                      "start": {
                                        "line": 258,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 258,
                                        "column": 89
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 9475,
                                      "end": 9504,
                                      "loc": {
                                        "start": {
                                          "line": 258,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 258,
                                          "column": 81
                                        }
                                      },
                                      "object": {
                                        "type": "CallExpression",
                                        "start": 9475,
                                        "end": 9489,
                                        "loc": {
                                          "start": {
                                            "line": 258,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 258,
                                            "column": 66
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 9475,
                                          "end": 9487,
                                          "loc": {
                                            "start": {
                                              "line": 258,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 258,
                                              "column": 64
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 9475,
                                            "end": 9481,
                                            "loc": {
                                              "start": {
                                                "line": 258,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 258,
                                                "column": 58
                                              }
                                            },
                                            "name": "normal"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 9482,
                                            "end": 9487,
                                            "loc": {
                                              "start": {
                                                "line": 258,
                                                "column": 59
                                              },
                                              "end": {
                                                "line": 258,
                                                "column": 64
                                              }
                                            },
                                            "name": "clone"
                                          },
                                          "computed": false
                                        },
                                        "arguments": []
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9490,
                                        "end": 9504,
                                        "loc": {
                                          "start": {
                                            "line": 258,
                                            "column": 67
                                          },
                                          "end": {
                                            "line": 258,
                                            "column": 81
                                          }
                                        },
                                        "name": "multiplyScalar"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "UnaryExpression",
                                        "start": 9505,
                                        "end": 9511,
                                        "loc": {
                                          "start": {
                                            "line": 258,
                                            "column": 82
                                          },
                                          "end": {
                                            "line": 258,
                                            "column": 88
                                          }
                                        },
                                        "operator": "-",
                                        "prefix": true,
                                        "argument": {
                                          "type": "Identifier",
                                          "start": 9506,
                                          "end": 9511,
                                          "loc": {
                                            "start": {
                                              "line": 258,
                                              "column": 83
                                            },
                                            "end": {
                                              "line": 258,
                                              "column": 88
                                            }
                                          },
                                          "name": "coeff"
                                        }
                                      }
                                    ]
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9513,
                                    "end": 9516,
                                    "loc": {
                                      "start": {
                                        "line": 258,
                                        "column": 90
                                      },
                                      "end": {
                                        "line": 258,
                                        "column": 93
                                      }
                                    },
                                    "name": "sub"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 9517,
                                    "end": 9541,
                                    "loc": {
                                      "start": {
                                        "line": 258,
                                        "column": 94
                                      },
                                      "end": {
                                        "line": 258,
                                        "column": 118
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 9517,
                                      "end": 9539,
                                      "loc": {
                                        "start": {
                                          "line": 258,
                                          "column": 94
                                        },
                                        "end": {
                                          "line": 258,
                                          "column": 116
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 9517,
                                        "end": 9521,
                                        "loc": {
                                          "start": {
                                            "line": 258,
                                            "column": 94
                                          },
                                          "end": {
                                            "line": 258,
                                            "column": 98
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9522,
                                        "end": 9539,
                                        "loc": {
                                          "start": {
                                            "line": 258,
                                            "column": 99
                                          },
                                          "end": {
                                            "line": 258,
                                            "column": 116
                                          }
                                        },
                                        "name": "getMiddlePosition"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 9553,
                      "end": 9589,
                      "loc": {
                        "start": {
                          "line": 259,
                          "column": 8
                        },
                        "end": {
                          "line": 259,
                          "column": 44
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9557,
                          "end": 9588,
                          "loc": {
                            "start": {
                              "line": 259,
                              "column": 12
                            },
                            "end": {
                              "line": 259,
                              "column": 43
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9557,
                            "end": 9565,
                            "loc": {
                              "start": {
                                "line": 259,
                                "column": 12
                              },
                              "end": {
                                "line": 259,
                                "column": 20
                              }
                            },
                            "name": "geometry"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 9568,
                            "end": 9588,
                            "loc": {
                              "start": {
                                "line": 259,
                                "column": 23
                              },
                              "end": {
                                "line": 259,
                                "column": 43
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9572,
                              "end": 9586,
                              "loc": {
                                "start": {
                                  "line": 259,
                                  "column": 27
                                },
                                "end": {
                                  "line": 259,
                                  "column": 41
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9572,
                                "end": 9577,
                                "loc": {
                                  "start": {
                                    "line": 259,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 259,
                                    "column": 32
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9578,
                                "end": 9586,
                                "loc": {
                                  "start": {
                                    "line": 259,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 259,
                                    "column": 41
                                  }
                                },
                                "name": "Geometry"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 9598,
                      "end": 9628,
                      "loc": {
                        "start": {
                          "line": 260,
                          "column": 8
                        },
                        "end": {
                          "line": 260,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 9598,
                        "end": 9627,
                        "loc": {
                          "start": {
                            "line": 260,
                            "column": 8
                          },
                          "end": {
                            "line": 260,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 9598,
                          "end": 9620,
                          "loc": {
                            "start": {
                              "line": 260,
                              "column": 8
                            },
                            "end": {
                              "line": 260,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 9598,
                            "end": 9615,
                            "loc": {
                              "start": {
                                "line": 260,
                                "column": 8
                              },
                              "end": {
                                "line": 260,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9598,
                              "end": 9606,
                              "loc": {
                                "start": {
                                  "line": 260,
                                  "column": 8
                                },
                                "end": {
                                  "line": 260,
                                  "column": 16
                                }
                              },
                              "name": "geometry"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9607,
                              "end": 9615,
                              "loc": {
                                "start": {
                                  "line": 260,
                                  "column": 17
                                },
                                "end": {
                                  "line": 260,
                                  "column": 25
                                }
                              },
                              "name": "vertices"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9616,
                            "end": 9620,
                            "loc": {
                              "start": {
                                "line": 260,
                                "column": 26
                              },
                              "end": {
                                "line": 260,
                                "column": 30
                              }
                            },
                            "name": "push"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 9621,
                            "end": 9622,
                            "loc": {
                              "start": {
                                "line": 260,
                                "column": 31
                              },
                              "end": {
                                "line": 260,
                                "column": 32
                              }
                            },
                            "name": "a"
                          },
                          {
                            "type": "Identifier",
                            "start": 9625,
                            "end": 9626,
                            "loc": {
                              "start": {
                                "line": 260,
                                "column": 35
                              },
                              "end": {
                                "line": 260,
                                "column": 36
                              }
                            },
                            "name": "b"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 9637,
                      "end": 9653,
                      "loc": {
                        "start": {
                          "line": 261,
                          "column": 8
                        },
                        "end": {
                          "line": 261,
                          "column": 24
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 9644,
                        "end": 9652,
                        "loc": {
                          "start": {
                            "line": 261,
                            "column": 15
                          },
                          "end": {
                            "line": 261,
                            "column": 23
                          }
                        },
                        "name": "geometry"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 9665,
              "end": 10344,
              "loc": {
                "start": {
                  "line": 264,
                  "column": 4
                },
                "end": {
                  "line": 275,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9665,
                "end": 9688,
                "loc": {
                  "start": {
                    "line": 264,
                    "column": 4
                  },
                  "end": {
                    "line": 264,
                    "column": 27
                  }
                },
                "name": "updateAuxiliaryGeometry"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9688,
                "end": 10344,
                "loc": {
                  "start": {
                    "line": 264,
                    "column": 27
                  },
                  "end": {
                    "line": 275,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 9691,
                  "end": 10344,
                  "loc": {
                    "start": {
                      "line": 264,
                      "column": 30
                    },
                    "end": {
                      "line": 275,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 9701,
                      "end": 9787,
                      "loc": {
                        "start": {
                          "line": 265,
                          "column": 8
                        },
                        "end": {
                          "line": 265,
                          "column": 94
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9705,
                          "end": 9786,
                          "loc": {
                            "start": {
                              "line": 265,
                              "column": 12
                            },
                            "end": {
                              "line": 265,
                              "column": 93
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9705,
                            "end": 9711,
                            "loc": {
                              "start": {
                                "line": 265,
                                "column": 12
                              },
                              "end": {
                                "line": 265,
                                "column": 18
                              }
                            },
                            "name": "normal"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 9714,
                            "end": 9786,
                            "loc": {
                              "start": {
                                "line": 265,
                                "column": 21
                              },
                              "end": {
                                "line": 265,
                                "column": 93
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9714,
                              "end": 9784,
                              "loc": {
                                "start": {
                                  "line": 265,
                                  "column": 21
                                },
                                "end": {
                                  "line": 265,
                                  "column": 91
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 9714,
                                "end": 9774,
                                "loc": {
                                  "start": {
                                    "line": 265,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 265,
                                    "column": 81
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9714,
                                  "end": 9749,
                                  "loc": {
                                    "start": {
                                      "line": 265,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 265,
                                      "column": 56
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 9714,
                                    "end": 9745,
                                    "loc": {
                                      "start": {
                                        "line": 265,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 265,
                                        "column": 52
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 9714,
                                      "end": 9743,
                                      "loc": {
                                        "start": {
                                          "line": 265,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 265,
                                          "column": 50
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 9714,
                                        "end": 9737,
                                        "loc": {
                                          "start": {
                                            "line": 265,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 265,
                                            "column": 44
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 9714,
                                          "end": 9728,
                                          "loc": {
                                            "start": {
                                              "line": 265,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 265,
                                              "column": 35
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 9714,
                                            "end": 9725,
                                            "loc": {
                                              "start": {
                                                "line": 265,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 265,
                                                "column": 32
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 9714,
                                              "end": 9718,
                                              "loc": {
                                                "start": {
                                                  "line": 265,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 265,
                                                  "column": 25
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 9719,
                                              "end": 9725,
                                              "loc": {
                                                "start": {
                                                  "line": 265,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 265,
                                                  "column": 32
                                                }
                                              },
                                              "name": "points"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "start": 9726,
                                            "end": 9727,
                                            "loc": {
                                              "start": {
                                                "line": 265,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 265,
                                                "column": 34
                                              }
                                            },
                                            "value": 1,
                                            "rawValue": 1,
                                            "raw": "1"
                                          },
                                          "computed": true
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9729,
                                          "end": 9737,
                                          "loc": {
                                            "start": {
                                              "line": 265,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 265,
                                              "column": 44
                                            }
                                          },
                                          "name": "position"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9738,
                                        "end": 9743,
                                        "loc": {
                                          "start": {
                                            "line": 265,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 265,
                                            "column": 50
                                          }
                                        },
                                        "name": "clone"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9746,
                                    "end": 9749,
                                    "loc": {
                                      "start": {
                                        "line": 265,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 265,
                                        "column": 56
                                      }
                                    },
                                    "name": "sub"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 9750,
                                    "end": 9773,
                                    "loc": {
                                      "start": {
                                        "line": 265,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 265,
                                        "column": 80
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 9750,
                                      "end": 9764,
                                      "loc": {
                                        "start": {
                                          "line": 265,
                                          "column": 57
                                        },
                                        "end": {
                                          "line": 265,
                                          "column": 71
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 9750,
                                        "end": 9761,
                                        "loc": {
                                          "start": {
                                            "line": 265,
                                            "column": 57
                                          },
                                          "end": {
                                            "line": 265,
                                            "column": 68
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 9750,
                                          "end": 9754,
                                          "loc": {
                                            "start": {
                                              "line": 265,
                                              "column": 57
                                            },
                                            "end": {
                                              "line": 265,
                                              "column": 61
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9755,
                                          "end": 9761,
                                          "loc": {
                                            "start": {
                                              "line": 265,
                                              "column": 62
                                            },
                                            "end": {
                                              "line": 265,
                                              "column": 68
                                            }
                                          },
                                          "name": "points"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Literal",
                                        "start": 9762,
                                        "end": 9763,
                                        "loc": {
                                          "start": {
                                            "line": 265,
                                            "column": 69
                                          },
                                          "end": {
                                            "line": 265,
                                            "column": 70
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9765,
                                      "end": 9773,
                                      "loc": {
                                        "start": {
                                          "line": 265,
                                          "column": 72
                                        },
                                        "end": {
                                          "line": 265,
                                          "column": 80
                                        }
                                      },
                                      "name": "position"
                                    },
                                    "computed": false
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9775,
                                "end": 9784,
                                "loc": {
                                  "start": {
                                    "line": 265,
                                    "column": 82
                                  },
                                  "end": {
                                    "line": 265,
                                    "column": 91
                                  }
                                },
                                "name": "normalize"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 9796,
                      "end": 9839,
                      "loc": {
                        "start": {
                          "line": 266,
                          "column": 8
                        },
                        "end": {
                          "line": 266,
                          "column": 51
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9800,
                          "end": 9838,
                          "loc": {
                            "start": {
                              "line": 266,
                              "column": 12
                            },
                            "end": {
                              "line": 266,
                              "column": 50
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9800,
                            "end": 9805,
                            "loc": {
                              "start": {
                                "line": 266,
                                "column": 12
                              },
                              "end": {
                                "line": 266,
                                "column": 17
                              }
                            },
                            "name": "coeff"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 9808,
                            "end": 9838,
                            "loc": {
                              "start": {
                                "line": 266,
                                "column": 20
                              },
                              "end": {
                                "line": 266,
                                "column": 50
                              }
                            },
                            "left": {
                              "type": "Literal",
                              "start": 9808,
                              "end": 9813,
                              "loc": {
                                "start": {
                                  "line": 266,
                                  "column": 20
                                },
                                "end": {
                                  "line": 266,
                                  "column": 25
                                }
                              },
                              "value": 10000,
                              "rawValue": 10000,
                              "raw": "10000"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 9816,
                              "end": 9838,
                              "loc": {
                                "start": {
                                  "line": 266,
                                  "column": 28
                                },
                                "end": {
                                  "line": 266,
                                  "column": 50
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 9816,
                                "end": 9836,
                                "loc": {
                                  "start": {
                                    "line": 266,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 266,
                                    "column": 48
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 9816,
                                  "end": 9830,
                                  "loc": {
                                    "start": {
                                      "line": 266,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 266,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 9816,
                                    "end": 9827,
                                    "loc": {
                                      "start": {
                                        "line": 266,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 266,
                                        "column": 39
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9816,
                                      "end": 9820,
                                      "loc": {
                                        "start": {
                                          "line": 266,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 266,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9821,
                                      "end": 9827,
                                      "loc": {
                                        "start": {
                                          "line": 266,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 266,
                                          "column": 39
                                        }
                                      },
                                      "name": "points"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 9828,
                                    "end": 9829,
                                    "loc": {
                                      "start": {
                                        "line": 266,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 266,
                                        "column": 41
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9831,
                                  "end": 9836,
                                  "loc": {
                                    "start": {
                                      "line": 266,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 266,
                                      "column": 48
                                    }
                                  },
                                  "name": "scale"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9837,
                                "end": 9838,
                                "loc": {
                                  "start": {
                                    "line": 266,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 266,
                                    "column": 50
                                  }
                                },
                                "name": "x"
                              },
                              "computed": false
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 9848,
                      "end": 9960,
                      "loc": {
                        "start": {
                          "line": 267,
                          "column": 8
                        },
                        "end": {
                          "line": 267,
                          "column": 120
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9852,
                          "end": 9959,
                          "loc": {
                            "start": {
                              "line": 267,
                              "column": 12
                            },
                            "end": {
                              "line": 267,
                              "column": 119
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9852,
                            "end": 9853,
                            "loc": {
                              "start": {
                                "line": 267,
                                "column": 12
                              },
                              "end": {
                                "line": 267,
                                "column": 13
                              }
                            },
                            "name": "a"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 9856,
                            "end": 9959,
                            "loc": {
                              "start": {
                                "line": 267,
                                "column": 16
                              },
                              "end": {
                                "line": 267,
                                "column": 119
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9856,
                              "end": 9891,
                              "loc": {
                                "start": {
                                  "line": 267,
                                  "column": 16
                                },
                                "end": {
                                  "line": 267,
                                  "column": 51
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 9856,
                                "end": 9887,
                                "loc": {
                                  "start": {
                                    "line": 267,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 267,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9856,
                                  "end": 9885,
                                  "loc": {
                                    "start": {
                                      "line": 267,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 267,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 9856,
                                    "end": 9879,
                                    "loc": {
                                      "start": {
                                        "line": 267,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 267,
                                        "column": 39
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 9856,
                                      "end": 9870,
                                      "loc": {
                                        "start": {
                                          "line": 267,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 267,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 9856,
                                        "end": 9867,
                                        "loc": {
                                          "start": {
                                            "line": 267,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 267,
                                            "column": 27
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 9856,
                                          "end": 9860,
                                          "loc": {
                                            "start": {
                                              "line": 267,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 267,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9861,
                                          "end": 9867,
                                          "loc": {
                                            "start": {
                                              "line": 267,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 267,
                                              "column": 27
                                            }
                                          },
                                          "name": "points"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Literal",
                                        "start": 9868,
                                        "end": 9869,
                                        "loc": {
                                          "start": {
                                            "line": 267,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 267,
                                            "column": 29
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9871,
                                      "end": 9879,
                                      "loc": {
                                        "start": {
                                          "line": 267,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 267,
                                          "column": 39
                                        }
                                      },
                                      "name": "position"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9880,
                                    "end": 9885,
                                    "loc": {
                                      "start": {
                                        "line": 267,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 267,
                                        "column": 45
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9888,
                                "end": 9891,
                                "loc": {
                                  "start": {
                                    "line": 267,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 267,
                                    "column": 51
                                  }
                                },
                                "name": "add"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 9892,
                                "end": 9958,
                                "loc": {
                                  "start": {
                                    "line": 267,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 267,
                                    "column": 118
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9892,
                                  "end": 9932,
                                  "loc": {
                                    "start": {
                                      "line": 267,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 267,
                                      "column": 92
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 9892,
                                    "end": 9928,
                                    "loc": {
                                      "start": {
                                        "line": 267,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 267,
                                        "column": 88
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 9892,
                                      "end": 9921,
                                      "loc": {
                                        "start": {
                                          "line": 267,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 267,
                                          "column": 81
                                        }
                                      },
                                      "object": {
                                        "type": "CallExpression",
                                        "start": 9892,
                                        "end": 9906,
                                        "loc": {
                                          "start": {
                                            "line": 267,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 267,
                                            "column": 66
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 9892,
                                          "end": 9904,
                                          "loc": {
                                            "start": {
                                              "line": 267,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 267,
                                              "column": 64
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 9892,
                                            "end": 9898,
                                            "loc": {
                                              "start": {
                                                "line": 267,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 267,
                                                "column": 58
                                              }
                                            },
                                            "name": "normal"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 9899,
                                            "end": 9904,
                                            "loc": {
                                              "start": {
                                                "line": 267,
                                                "column": 59
                                              },
                                              "end": {
                                                "line": 267,
                                                "column": 64
                                              }
                                            },
                                            "name": "clone"
                                          },
                                          "computed": false
                                        },
                                        "arguments": []
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9907,
                                        "end": 9921,
                                        "loc": {
                                          "start": {
                                            "line": 267,
                                            "column": 67
                                          },
                                          "end": {
                                            "line": 267,
                                            "column": 81
                                          }
                                        },
                                        "name": "multiplyScalar"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 9922,
                                        "end": 9927,
                                        "loc": {
                                          "start": {
                                            "line": 267,
                                            "column": 82
                                          },
                                          "end": {
                                            "line": 267,
                                            "column": 87
                                          }
                                        },
                                        "name": "coeff"
                                      }
                                    ]
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9929,
                                    "end": 9932,
                                    "loc": {
                                      "start": {
                                        "line": 267,
                                        "column": 89
                                      },
                                      "end": {
                                        "line": 267,
                                        "column": 92
                                      }
                                    },
                                    "name": "sub"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 9933,
                                    "end": 9957,
                                    "loc": {
                                      "start": {
                                        "line": 267,
                                        "column": 93
                                      },
                                      "end": {
                                        "line": 267,
                                        "column": 117
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 9933,
                                      "end": 9955,
                                      "loc": {
                                        "start": {
                                          "line": 267,
                                          "column": 93
                                        },
                                        "end": {
                                          "line": 267,
                                          "column": 115
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 9933,
                                        "end": 9937,
                                        "loc": {
                                          "start": {
                                            "line": 267,
                                            "column": 93
                                          },
                                          "end": {
                                            "line": 267,
                                            "column": 97
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9938,
                                        "end": 9955,
                                        "loc": {
                                          "start": {
                                            "line": 267,
                                            "column": 98
                                          },
                                          "end": {
                                            "line": 267,
                                            "column": 115
                                          }
                                        },
                                        "name": "getMiddlePosition"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 9969,
                      "end": 10082,
                      "loc": {
                        "start": {
                          "line": 268,
                          "column": 8
                        },
                        "end": {
                          "line": 268,
                          "column": 121
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9973,
                          "end": 10081,
                          "loc": {
                            "start": {
                              "line": 268,
                              "column": 12
                            },
                            "end": {
                              "line": 268,
                              "column": 120
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9973,
                            "end": 9974,
                            "loc": {
                              "start": {
                                "line": 268,
                                "column": 12
                              },
                              "end": {
                                "line": 268,
                                "column": 13
                              }
                            },
                            "name": "b"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 9977,
                            "end": 10081,
                            "loc": {
                              "start": {
                                "line": 268,
                                "column": 16
                              },
                              "end": {
                                "line": 268,
                                "column": 120
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9977,
                              "end": 10012,
                              "loc": {
                                "start": {
                                  "line": 268,
                                  "column": 16
                                },
                                "end": {
                                  "line": 268,
                                  "column": 51
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 9977,
                                "end": 10008,
                                "loc": {
                                  "start": {
                                    "line": 268,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 268,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9977,
                                  "end": 10006,
                                  "loc": {
                                    "start": {
                                      "line": 268,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 268,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 9977,
                                    "end": 10000,
                                    "loc": {
                                      "start": {
                                        "line": 268,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 268,
                                        "column": 39
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 9977,
                                      "end": 9991,
                                      "loc": {
                                        "start": {
                                          "line": 268,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 268,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 9977,
                                        "end": 9988,
                                        "loc": {
                                          "start": {
                                            "line": 268,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 268,
                                            "column": 27
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 9977,
                                          "end": 9981,
                                          "loc": {
                                            "start": {
                                              "line": 268,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 268,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9982,
                                          "end": 9988,
                                          "loc": {
                                            "start": {
                                              "line": 268,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 268,
                                              "column": 27
                                            }
                                          },
                                          "name": "points"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Literal",
                                        "start": 9989,
                                        "end": 9990,
                                        "loc": {
                                          "start": {
                                            "line": 268,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 268,
                                            "column": 29
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9992,
                                      "end": 10000,
                                      "loc": {
                                        "start": {
                                          "line": 268,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 268,
                                          "column": 39
                                        }
                                      },
                                      "name": "position"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10001,
                                    "end": 10006,
                                    "loc": {
                                      "start": {
                                        "line": 268,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 268,
                                        "column": 45
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10009,
                                "end": 10012,
                                "loc": {
                                  "start": {
                                    "line": 268,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 268,
                                    "column": 51
                                  }
                                },
                                "name": "add"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 10013,
                                "end": 10080,
                                "loc": {
                                  "start": {
                                    "line": 268,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 268,
                                    "column": 119
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 10013,
                                  "end": 10054,
                                  "loc": {
                                    "start": {
                                      "line": 268,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 268,
                                      "column": 93
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 10013,
                                    "end": 10050,
                                    "loc": {
                                      "start": {
                                        "line": 268,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 268,
                                        "column": 89
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 10013,
                                      "end": 10042,
                                      "loc": {
                                        "start": {
                                          "line": 268,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 268,
                                          "column": 81
                                        }
                                      },
                                      "object": {
                                        "type": "CallExpression",
                                        "start": 10013,
                                        "end": 10027,
                                        "loc": {
                                          "start": {
                                            "line": 268,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 268,
                                            "column": 66
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 10013,
                                          "end": 10025,
                                          "loc": {
                                            "start": {
                                              "line": 268,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 268,
                                              "column": 64
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 10013,
                                            "end": 10019,
                                            "loc": {
                                              "start": {
                                                "line": 268,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 268,
                                                "column": 58
                                              }
                                            },
                                            "name": "normal"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 10020,
                                            "end": 10025,
                                            "loc": {
                                              "start": {
                                                "line": 268,
                                                "column": 59
                                              },
                                              "end": {
                                                "line": 268,
                                                "column": 64
                                              }
                                            },
                                            "name": "clone"
                                          },
                                          "computed": false
                                        },
                                        "arguments": []
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 10028,
                                        "end": 10042,
                                        "loc": {
                                          "start": {
                                            "line": 268,
                                            "column": 67
                                          },
                                          "end": {
                                            "line": 268,
                                            "column": 81
                                          }
                                        },
                                        "name": "multiplyScalar"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "UnaryExpression",
                                        "start": 10043,
                                        "end": 10049,
                                        "loc": {
                                          "start": {
                                            "line": 268,
                                            "column": 82
                                          },
                                          "end": {
                                            "line": 268,
                                            "column": 88
                                          }
                                        },
                                        "operator": "-",
                                        "prefix": true,
                                        "argument": {
                                          "type": "Identifier",
                                          "start": 10044,
                                          "end": 10049,
                                          "loc": {
                                            "start": {
                                              "line": 268,
                                              "column": 83
                                            },
                                            "end": {
                                              "line": 268,
                                              "column": 88
                                            }
                                          },
                                          "name": "coeff"
                                        }
                                      }
                                    ]
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10051,
                                    "end": 10054,
                                    "loc": {
                                      "start": {
                                        "line": 268,
                                        "column": 90
                                      },
                                      "end": {
                                        "line": 268,
                                        "column": 93
                                      }
                                    },
                                    "name": "sub"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 10055,
                                    "end": 10079,
                                    "loc": {
                                      "start": {
                                        "line": 268,
                                        "column": 94
                                      },
                                      "end": {
                                        "line": 268,
                                        "column": 118
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 10055,
                                      "end": 10077,
                                      "loc": {
                                        "start": {
                                          "line": 268,
                                          "column": 94
                                        },
                                        "end": {
                                          "line": 268,
                                          "column": 116
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 10055,
                                        "end": 10059,
                                        "loc": {
                                          "start": {
                                            "line": 268,
                                            "column": 94
                                          },
                                          "end": {
                                            "line": 268,
                                            "column": 98
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 10060,
                                        "end": 10077,
                                        "loc": {
                                          "start": {
                                            "line": 268,
                                            "column": 99
                                          },
                                          "end": {
                                            "line": 268,
                                            "column": 116
                                          }
                                        },
                                        "name": "getMiddlePosition"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 10092,
                      "end": 10157,
                      "loc": {
                        "start": {
                          "line": 270,
                          "column": 8
                        },
                        "end": {
                          "line": 270,
                          "column": 73
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 10092,
                        "end": 10156,
                        "loc": {
                          "start": {
                            "line": 270,
                            "column": 8
                          },
                          "end": {
                            "line": 270,
                            "column": 72
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 10092,
                          "end": 10132,
                          "loc": {
                            "start": {
                              "line": 270,
                              "column": 8
                            },
                            "end": {
                              "line": 270,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 10092,
                            "end": 10127,
                            "loc": {
                              "start": {
                                "line": 270,
                                "column": 8
                              },
                              "end": {
                                "line": 270,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 10092,
                              "end": 10118,
                              "loc": {
                                "start": {
                                  "line": 270,
                                  "column": 8
                                },
                                "end": {
                                  "line": 270,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 10092,
                                "end": 10096,
                                "loc": {
                                  "start": {
                                    "line": 270,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 270,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10097,
                                "end": 10118,
                                "loc": {
                                  "start": {
                                    "line": 270,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 270,
                                    "column": 34
                                  }
                                },
                                "name": "auxiliaryConstruction"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10119,
                              "end": 10127,
                              "loc": {
                                "start": {
                                  "line": 270,
                                  "column": 35
                                },
                                "end": {
                                  "line": 270,
                                  "column": 43
                                }
                              },
                              "name": "position"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10128,
                            "end": 10132,
                            "loc": {
                              "start": {
                                "line": 270,
                                "column": 44
                              },
                              "end": {
                                "line": 270,
                                "column": 48
                              }
                            },
                            "name": "copy"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 10133,
                            "end": 10155,
                            "loc": {
                              "start": {
                                "line": 270,
                                "column": 49
                              },
                              "end": {
                                "line": 270,
                                "column": 71
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 10133,
                              "end": 10146,
                              "loc": {
                                "start": {
                                  "line": 270,
                                  "column": 49
                                },
                                "end": {
                                  "line": 270,
                                  "column": 62
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 10133,
                                "end": 10137,
                                "loc": {
                                  "start": {
                                    "line": 270,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 270,
                                    "column": 53
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10138,
                                "end": 10146,
                                "loc": {
                                  "start": {
                                    "line": 270,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 270,
                                    "column": 62
                                  }
                                },
                                "name": "interact"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10147,
                              "end": 10155,
                              "loc": {
                                "start": {
                                  "line": 270,
                                  "column": 63
                                },
                                "end": {
                                  "line": 270,
                                  "column": 71
                                }
                              },
                              "name": "position"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 10166,
                      "end": 10217,
                      "loc": {
                        "start": {
                          "line": 271,
                          "column": 8
                        },
                        "end": {
                          "line": 271,
                          "column": 59
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 10170,
                          "end": 10216,
                          "loc": {
                            "start": {
                              "line": 271,
                              "column": 12
                            },
                            "end": {
                              "line": 271,
                              "column": 58
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 10170,
                            "end": 10178,
                            "loc": {
                              "start": {
                                "line": 271,
                                "column": 12
                              },
                              "end": {
                                "line": 271,
                                "column": 20
                              }
                            },
                            "name": "geometry"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 10181,
                            "end": 10216,
                            "loc": {
                              "start": {
                                "line": 271,
                                "column": 23
                              },
                              "end": {
                                "line": 271,
                                "column": 58
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 10181,
                              "end": 10207,
                              "loc": {
                                "start": {
                                  "line": 271,
                                  "column": 23
                                },
                                "end": {
                                  "line": 271,
                                  "column": 49
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 10181,
                                "end": 10185,
                                "loc": {
                                  "start": {
                                    "line": 271,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 271,
                                    "column": 27
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10186,
                                "end": 10207,
                                "loc": {
                                  "start": {
                                    "line": 271,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 271,
                                    "column": 49
                                  }
                                },
                                "name": "auxiliaryConstruction"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10208,
                              "end": 10216,
                              "loc": {
                                "start": {
                                  "line": 271,
                                  "column": 50
                                },
                                "end": {
                                  "line": 271,
                                  "column": 58
                                }
                              },
                              "name": "geometry"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 10226,
                      "end": 10255,
                      "loc": {
                        "start": {
                          "line": 272,
                          "column": 8
                        },
                        "end": {
                          "line": 272,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 10226,
                        "end": 10254,
                        "loc": {
                          "start": {
                            "line": 272,
                            "column": 8
                          },
                          "end": {
                            "line": 272,
                            "column": 36
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 10226,
                          "end": 10250,
                          "loc": {
                            "start": {
                              "line": 272,
                              "column": 8
                            },
                            "end": {
                              "line": 272,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 10226,
                            "end": 10243,
                            "loc": {
                              "start": {
                                "line": 272,
                                "column": 8
                              },
                              "end": {
                                "line": 272,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 10226,
                              "end": 10234,
                              "loc": {
                                "start": {
                                  "line": 272,
                                  "column": 8
                                },
                                "end": {
                                  "line": 272,
                                  "column": 16
                                }
                              },
                              "name": "geometry"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10235,
                              "end": 10243,
                              "loc": {
                                "start": {
                                  "line": 272,
                                  "column": 17
                                },
                                "end": {
                                  "line": 272,
                                  "column": 25
                                }
                              },
                              "name": "vertices"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10244,
                            "end": 10250,
                            "loc": {
                              "start": {
                                "line": 272,
                                "column": 26
                              },
                              "end": {
                                "line": 272,
                                "column": 32
                              }
                            },
                            "name": "length"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 10253,
                          "end": 10254,
                          "loc": {
                            "start": {
                              "line": 272,
                              "column": 35
                            },
                            "end": {
                              "line": 272,
                              "column": 36
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 10264,
                      "end": 10294,
                      "loc": {
                        "start": {
                          "line": 273,
                          "column": 8
                        },
                        "end": {
                          "line": 273,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 10264,
                        "end": 10293,
                        "loc": {
                          "start": {
                            "line": 273,
                            "column": 8
                          },
                          "end": {
                            "line": 273,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 10264,
                          "end": 10286,
                          "loc": {
                            "start": {
                              "line": 273,
                              "column": 8
                            },
                            "end": {
                              "line": 273,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 10264,
                            "end": 10281,
                            "loc": {
                              "start": {
                                "line": 273,
                                "column": 8
                              },
                              "end": {
                                "line": 273,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 10264,
                              "end": 10272,
                              "loc": {
                                "start": {
                                  "line": 273,
                                  "column": 8
                                },
                                "end": {
                                  "line": 273,
                                  "column": 16
                                }
                              },
                              "name": "geometry"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10273,
                              "end": 10281,
                              "loc": {
                                "start": {
                                  "line": 273,
                                  "column": 17
                                },
                                "end": {
                                  "line": 273,
                                  "column": 25
                                }
                              },
                              "name": "vertices"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10282,
                            "end": 10286,
                            "loc": {
                              "start": {
                                "line": 273,
                                "column": 26
                              },
                              "end": {
                                "line": 273,
                                "column": 30
                              }
                            },
                            "name": "push"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 10287,
                            "end": 10288,
                            "loc": {
                              "start": {
                                "line": 273,
                                "column": 31
                              },
                              "end": {
                                "line": 273,
                                "column": 32
                              }
                            },
                            "name": "a"
                          },
                          {
                            "type": "Identifier",
                            "start": 10291,
                            "end": 10292,
                            "loc": {
                              "start": {
                                "line": 273,
                                "column": 35
                              },
                              "end": {
                                "line": 273,
                                "column": 36
                              }
                            },
                            "name": "b"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 10303,
                      "end": 10338,
                      "loc": {
                        "start": {
                          "line": 274,
                          "column": 8
                        },
                        "end": {
                          "line": 274,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 10303,
                        "end": 10337,
                        "loc": {
                          "start": {
                            "line": 274,
                            "column": 8
                          },
                          "end": {
                            "line": 274,
                            "column": 42
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 10303,
                          "end": 10330,
                          "loc": {
                            "start": {
                              "line": 274,
                              "column": 8
                            },
                            "end": {
                              "line": 274,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 10303,
                            "end": 10311,
                            "loc": {
                              "start": {
                                "line": 274,
                                "column": 8
                              },
                              "end": {
                                "line": 274,
                                "column": 16
                              }
                            },
                            "name": "geometry"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10312,
                            "end": 10330,
                            "loc": {
                              "start": {
                                "line": 274,
                                "column": 17
                              },
                              "end": {
                                "line": 274,
                                "column": 35
                              }
                            },
                            "name": "verticesNeedUpdate"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 10333,
                          "end": 10337,
                          "loc": {
                            "start": {
                              "line": 274,
                              "column": 38
                            },
                            "end": {
                              "line": 274,
                              "column": 42
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "required methods for updateSizes",
                  "start": 10350,
                  "end": 10384,
                  "loc": {
                    "start": {
                      "line": 277,
                      "column": 4
                    },
                    "end": {
                      "line": 277,
                      "column": 38
                    }
                  },
                  "range": [
                    10350,
                    10384
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 10389,
              "end": 10454,
              "loc": {
                "start": {
                  "line": 278,
                  "column": 4
                },
                "end": {
                  "line": 280,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 10389,
                "end": 10403,
                "loc": {
                  "start": {
                    "line": 278,
                    "column": 4
                  },
                  "end": {
                    "line": 278,
                    "column": 18
                  }
                },
                "name": "getSizingPoint",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 10403,
                "end": 10454,
                "loc": {
                  "start": {
                    "line": 278,
                    "column": 18
                  },
                  "end": {
                    "line": 280,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 10406,
                  "end": 10454,
                  "loc": {
                    "start": {
                      "line": 278,
                      "column": 21
                    },
                    "end": {
                      "line": 280,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 10416,
                      "end": 10448,
                      "loc": {
                        "start": {
                          "line": 279,
                          "column": 8
                        },
                        "end": {
                          "line": 279,
                          "column": 40
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 10423,
                        "end": 10447,
                        "loc": {
                          "start": {
                            "line": 279,
                            "column": 15
                          },
                          "end": {
                            "line": 279,
                            "column": 39
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 10423,
                          "end": 10445,
                          "loc": {
                            "start": {
                              "line": 279,
                              "column": 15
                            },
                            "end": {
                              "line": 279,
                              "column": 37
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 10423,
                            "end": 10427,
                            "loc": {
                              "start": {
                                "line": 279,
                                "column": 15
                              },
                              "end": {
                                "line": 279,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10428,
                            "end": 10445,
                            "loc": {
                              "start": {
                                "line": 279,
                                "column": 20
                              },
                              "end": {
                                "line": 279,
                                "column": 37
                              }
                            },
                            "name": "getMiddlePosition"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "required methods for updateSizes",
                  "start": 10350,
                  "end": 10384,
                  "loc": {
                    "start": {
                      "line": 277,
                      "column": 4
                    },
                    "end": {
                      "line": 277,
                      "column": 38
                    }
                  },
                  "range": [
                    10350,
                    10384
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 10459,
              "end": 10627,
              "loc": {
                "start": {
                  "line": 281,
                  "column": 4
                },
                "end": {
                  "line": 285,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 10459,
                "end": 10471,
                "loc": {
                  "start": {
                    "line": 281,
                    "column": 4
                  },
                  "end": {
                    "line": 281,
                    "column": 16
                  }
                },
                "name": "setGeomSizes"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 10471,
                "end": 10627,
                "loc": {
                  "start": {
                    "line": 281,
                    "column": 16
                  },
                  "end": {
                    "line": 285,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 10472,
                    "end": 10477,
                    "loc": {
                      "start": {
                        "line": 281,
                        "column": 17
                      },
                      "end": {
                        "line": 281,
                        "column": 22
                      }
                    },
                    "name": "sizes"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 10479,
                  "end": 10627,
                  "loc": {
                    "start": {
                      "line": 281,
                      "column": 24
                    },
                    "end": {
                      "line": 285,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 10489,
                      "end": 10511,
                      "loc": {
                        "start": {
                          "line": 282,
                          "column": 8
                        },
                        "end": {
                          "line": 282,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 10489,
                        "end": 10510,
                        "loc": {
                          "start": {
                            "line": 282,
                            "column": 8
                          },
                          "end": {
                            "line": 282,
                            "column": 29
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 10489,
                          "end": 10499,
                          "loc": {
                            "start": {
                              "line": 282,
                              "column": 8
                            },
                            "end": {
                              "line": 282,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 10489,
                            "end": 10493,
                            "loc": {
                              "start": {
                                "line": 282,
                                "column": 8
                              },
                              "end": {
                                "line": 282,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10494,
                            "end": 10499,
                            "loc": {
                              "start": {
                                "line": 282,
                                "column": 13
                              },
                              "end": {
                                "line": 282,
                                "column": 18
                              }
                            },
                            "name": "width"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 10502,
                          "end": 10510,
                          "loc": {
                            "start": {
                              "line": 282,
                              "column": 21
                            },
                            "end": {
                              "line": 282,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 10502,
                            "end": 10507,
                            "loc": {
                              "start": {
                                "line": 282,
                                "column": 21
                              },
                              "end": {
                                "line": 282,
                                "column": 26
                              }
                            },
                            "name": "sizes"
                          },
                          "property": {
                            "type": "Literal",
                            "start": 10508,
                            "end": 10509,
                            "loc": {
                              "start": {
                                "line": 282,
                                "column": 27
                              },
                              "end": {
                                "line": 282,
                                "column": 28
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "computed": true
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 10520,
                      "end": 10621,
                      "loc": {
                        "start": {
                          "line": 283,
                          "column": 8
                        },
                        "end": {
                          "line": 284,
                          "column": 62
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 10524,
                        "end": 10557,
                        "loc": {
                          "start": {
                            "line": 283,
                            "column": 12
                          },
                          "end": {
                            "line": 283,
                            "column": 45
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 10524,
                          "end": 10549,
                          "loc": {
                            "start": {
                              "line": 283,
                              "column": 12
                            },
                            "end": {
                              "line": 283,
                              "column": 37
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 10524,
                            "end": 10528,
                            "loc": {
                              "start": {
                                "line": 283,
                                "column": 12
                              },
                              "end": {
                                "line": 283,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10529,
                            "end": 10549,
                            "loc": {
                              "start": {
                                "line": 283,
                                "column": 17
                              },
                              "end": {
                                "line": 283,
                                "column": 37
                              }
                            },
                            "name": "constraintsSubstrate"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 10550,
                          "end": 10557,
                          "loc": {
                            "start": {
                              "line": 283,
                              "column": 38
                            },
                            "end": {
                              "line": 283,
                              "column": 45
                            }
                          },
                          "name": "visible"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 10571,
                        "end": 10621,
                        "loc": {
                          "start": {
                            "line": 284,
                            "column": 12
                          },
                          "end": {
                            "line": 284,
                            "column": 62
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 10571,
                          "end": 10620,
                          "loc": {
                            "start": {
                              "line": 284,
                              "column": 12
                            },
                            "end": {
                              "line": 284,
                              "column": 61
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 10571,
                            "end": 10614,
                            "loc": {
                              "start": {
                                "line": 284,
                                "column": 12
                              },
                              "end": {
                                "line": 284,
                                "column": 55
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 10571,
                              "end": 10596,
                              "loc": {
                                "start": {
                                  "line": 284,
                                  "column": 12
                                },
                                "end": {
                                  "line": 284,
                                  "column": 37
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 10571,
                                "end": 10590,
                                "loc": {
                                  "start": {
                                    "line": 284,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 284,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 10571,
                                  "end": 10577,
                                  "loc": {
                                    "start": {
                                      "line": 284,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 284,
                                      "column": 18
                                    }
                                  },
                                  "name": "Sketch"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10578,
                                  "end": 10590,
                                  "loc": {
                                    "start": {
                                      "line": 284,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 284,
                                      "column": 31
                                    }
                                  },
                                  "name": "FindSketchOf"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ThisExpression",
                                  "start": 10591,
                                  "end": 10595,
                                  "loc": {
                                    "start": {
                                      "line": 284,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 284,
                                      "column": 36
                                    }
                                  }
                                }
                              ]
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10597,
                              "end": 10614,
                              "loc": {
                                "start": {
                                  "line": 284,
                                  "column": 38
                                },
                                "end": {
                                  "line": 284,
                                  "column": 55
                                }
                              },
                              "name": "updateConstraints"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 10615,
                              "end": 10619,
                              "loc": {
                                "start": {
                                  "line": 284,
                                  "column": 56
                                },
                                "end": {
                                  "line": 284,
                                  "column": 60
                                }
                              }
                            }
                          ]
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 10633,
              "end": 11139,
              "loc": {
                "start": {
                  "line": 287,
                  "column": 4
                },
                "end": {
                  "line": 298,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 10633,
                "end": 10653,
                "loc": {
                  "start": {
                    "line": 287,
                    "column": 4
                  },
                  "end": {
                    "line": 287,
                    "column": 24
                  }
                },
                "name": "getSubstratePosition"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 10653,
                "end": 11139,
                "loc": {
                  "start": {
                    "line": 287,
                    "column": 24
                  },
                  "end": {
                    "line": 298,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 10654,
                    "end": 10657,
                    "loc": {
                      "start": {
                        "line": 287,
                        "column": 25
                      },
                      "end": {
                        "line": 287,
                        "column": 28
                      }
                    },
                    "name": "len"
                  },
                  {
                    "type": "Identifier",
                    "start": 10659,
                    "end": 10663,
                    "loc": {
                      "start": {
                        "line": 287,
                        "column": 30
                      },
                      "end": {
                        "line": 287,
                        "column": 34
                      }
                    },
                    "name": "size"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 10665,
                  "end": 11139,
                  "loc": {
                    "start": {
                      "line": 287,
                      "column": 36
                    },
                    "end": {
                      "line": 298,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 10675,
                      "end": 10700,
                      "loc": {
                        "start": {
                          "line": 288,
                          "column": 8
                        },
                        "end": {
                          "line": 288,
                          "column": 33
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 10679,
                          "end": 10699,
                          "loc": {
                            "start": {
                              "line": 288,
                              "column": 12
                            },
                            "end": {
                              "line": 288,
                              "column": 32
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 10679,
                            "end": 10680,
                            "loc": {
                              "start": {
                                "line": 288,
                                "column": 12
                              },
                              "end": {
                                "line": 288,
                                "column": 13
                              }
                            },
                            "name": "a"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 10684,
                            "end": 10698,
                            "loc": {
                              "start": {
                                "line": 288,
                                "column": 17
                              },
                              "end": {
                                "line": 288,
                                "column": 31
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 10684,
                              "end": 10691,
                              "loc": {
                                "start": {
                                  "line": 288,
                                  "column": 17
                                },
                                "end": {
                                  "line": 288,
                                  "column": 24
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 10684,
                                "end": 10687,
                                "loc": {
                                  "start": {
                                    "line": 288,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 288,
                                    "column": 20
                                  }
                                },
                                "name": "len"
                              },
                              "operator": "/",
                              "right": {
                                "type": "Literal",
                                "start": 10690,
                                "end": 10691,
                                "loc": {
                                  "start": {
                                    "line": 288,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 288,
                                    "column": 24
                                  }
                                },
                                "value": 2,
                                "rawValue": 2,
                                "raw": "2"
                              }
                            },
                            "operator": "+",
                            "right": {
                              "type": "Identifier",
                              "start": 10694,
                              "end": 10698,
                              "loc": {
                                "start": {
                                  "line": 288,
                                  "column": 27
                                },
                                "end": {
                                  "line": 288,
                                  "column": 31
                                }
                              },
                              "name": "size"
                            },
                            "parenthesizedExpression": true
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 10709,
                      "end": 10735,
                      "loc": {
                        "start": {
                          "line": 289,
                          "column": 8
                        },
                        "end": {
                          "line": 289,
                          "column": 34
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 10713,
                          "end": 10734,
                          "loc": {
                            "start": {
                              "line": 289,
                              "column": 12
                            },
                            "end": {
                              "line": 289,
                              "column": 33
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 10713,
                            "end": 10714,
                            "loc": {
                              "start": {
                                "line": 289,
                                "column": 12
                              },
                              "end": {
                                "line": 289,
                                "column": 13
                              }
                            },
                            "name": "b"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 10718,
                            "end": 10733,
                            "loc": {
                              "start": {
                                "line": 289,
                                "column": 17
                              },
                              "end": {
                                "line": 289,
                                "column": 32
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 10718,
                              "end": 10726,
                              "loc": {
                                "start": {
                                  "line": 289,
                                  "column": 17
                                },
                                "end": {
                                  "line": 289,
                                  "column": 25
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 10718,
                                "end": 10722,
                                "loc": {
                                  "start": {
                                    "line": 289,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 289,
                                    "column": 21
                                  }
                                },
                                "name": "size"
                              },
                              "operator": "/",
                              "right": {
                                "type": "Literal",
                                "start": 10725,
                                "end": 10726,
                                "loc": {
                                  "start": {
                                    "line": 289,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 289,
                                    "column": 25
                                  }
                                },
                                "value": 2,
                                "rawValue": 2,
                                "raw": "2"
                              }
                            },
                            "operator": "+",
                            "right": {
                              "type": "Identifier",
                              "start": 10729,
                              "end": 10733,
                              "loc": {
                                "start": {
                                  "line": 289,
                                  "column": 28
                                },
                                "end": {
                                  "line": 289,
                                  "column": 32
                                }
                              },
                              "name": "size"
                            },
                            "parenthesizedExpression": true
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 10745,
                      "end": 10819,
                      "loc": {
                        "start": {
                          "line": 291,
                          "column": 8
                        },
                        "end": {
                          "line": 291,
                          "column": 82
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 10749,
                          "end": 10818,
                          "loc": {
                            "start": {
                              "line": 291,
                              "column": 12
                            },
                            "end": {
                              "line": 291,
                              "column": 81
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 10749,
                            "end": 10755,
                            "loc": {
                              "start": {
                                "line": 291,
                                "column": 12
                              },
                              "end": {
                                "line": 291,
                                "column": 18
                              }
                            },
                            "name": "vector"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 10758,
                            "end": 10818,
                            "loc": {
                              "start": {
                                "line": 291,
                                "column": 21
                              },
                              "end": {
                                "line": 291,
                                "column": 81
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 10758,
                              "end": 10793,
                              "loc": {
                                "start": {
                                  "line": 291,
                                  "column": 21
                                },
                                "end": {
                                  "line": 291,
                                  "column": 56
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 10758,
                                "end": 10789,
                                "loc": {
                                  "start": {
                                    "line": 291,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 291,
                                    "column": 52
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 10758,
                                  "end": 10787,
                                  "loc": {
                                    "start": {
                                      "line": 291,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 291,
                                      "column": 50
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 10758,
                                    "end": 10781,
                                    "loc": {
                                      "start": {
                                        "line": 291,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 291,
                                        "column": 44
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 10758,
                                      "end": 10772,
                                      "loc": {
                                        "start": {
                                          "line": 291,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 291,
                                          "column": 35
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 10758,
                                        "end": 10769,
                                        "loc": {
                                          "start": {
                                            "line": 291,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 291,
                                            "column": 32
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 10758,
                                          "end": 10762,
                                          "loc": {
                                            "start": {
                                              "line": 291,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 291,
                                              "column": 25
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 10763,
                                          "end": 10769,
                                          "loc": {
                                            "start": {
                                              "line": 291,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 291,
                                              "column": 32
                                            }
                                          },
                                          "name": "points"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Literal",
                                        "start": 10770,
                                        "end": 10771,
                                        "loc": {
                                          "start": {
                                            "line": 291,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 291,
                                            "column": 34
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10773,
                                      "end": 10781,
                                      "loc": {
                                        "start": {
                                          "line": 291,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 291,
                                          "column": 44
                                        }
                                      },
                                      "name": "position"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10782,
                                    "end": 10787,
                                    "loc": {
                                      "start": {
                                        "line": 291,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 291,
                                        "column": 50
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10790,
                                "end": 10793,
                                "loc": {
                                  "start": {
                                    "line": 291,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 291,
                                    "column": 56
                                  }
                                },
                                "name": "sub"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 10794,
                                "end": 10817,
                                "loc": {
                                  "start": {
                                    "line": 291,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 291,
                                    "column": 80
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10794,
                                  "end": 10808,
                                  "loc": {
                                    "start": {
                                      "line": 291,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 291,
                                      "column": 71
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 10794,
                                    "end": 10805,
                                    "loc": {
                                      "start": {
                                        "line": 291,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 291,
                                        "column": 68
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10794,
                                      "end": 10798,
                                      "loc": {
                                        "start": {
                                          "line": 291,
                                          "column": 57
                                        },
                                        "end": {
                                          "line": 291,
                                          "column": 61
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10799,
                                      "end": 10805,
                                      "loc": {
                                        "start": {
                                          "line": 291,
                                          "column": 62
                                        },
                                        "end": {
                                          "line": 291,
                                          "column": 68
                                        }
                                      },
                                      "name": "points"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 10806,
                                    "end": 10807,
                                    "loc": {
                                      "start": {
                                        "line": 291,
                                        "column": 69
                                      },
                                      "end": {
                                        "line": 291,
                                        "column": 70
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10809,
                                  "end": 10817,
                                  "loc": {
                                    "start": {
                                      "line": 291,
                                      "column": 72
                                    },
                                    "end": {
                                      "line": 291,
                                      "column": 80
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 10828,
                      "end": 10882,
                      "loc": {
                        "start": {
                          "line": 292,
                          "column": 8
                        },
                        "end": {
                          "line": 292,
                          "column": 62
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 10832,
                          "end": 10881,
                          "loc": {
                            "start": {
                              "line": 292,
                              "column": 12
                            },
                            "end": {
                              "line": 292,
                              "column": 61
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 10832,
                            "end": 10837,
                            "loc": {
                              "start": {
                                "line": 292,
                                "column": 12
                              },
                              "end": {
                                "line": 292,
                                "column": 17
                              }
                            },
                            "name": "angle"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 10841,
                            "end": 10881,
                            "loc": {
                              "start": {
                                "line": 292,
                                "column": 21
                              },
                              "end": {
                                "line": 292,
                                "column": 61
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 10841,
                              "end": 10855,
                              "loc": {
                                "start": {
                                  "line": 292,
                                  "column": 21
                                },
                                "end": {
                                  "line": 292,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 10841,
                                "end": 10847,
                                "loc": {
                                  "start": {
                                    "line": 292,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 292,
                                    "column": 27
                                  }
                                },
                                "name": "vector"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10848,
                                "end": 10855,
                                "loc": {
                                  "start": {
                                    "line": 292,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 292,
                                    "column": 35
                                  }
                                },
                                "name": "angleTo"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "NewExpression",
                                "start": 10856,
                                "end": 10880,
                                "loc": {
                                  "start": {
                                    "line": 292,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 292,
                                    "column": 60
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 10860,
                                  "end": 10873,
                                  "loc": {
                                    "start": {
                                      "line": 292,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 292,
                                      "column": 53
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 10860,
                                    "end": 10865,
                                    "loc": {
                                      "start": {
                                        "line": 292,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 292,
                                        "column": 45
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10866,
                                    "end": 10873,
                                    "loc": {
                                      "start": {
                                        "line": 292,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 292,
                                        "column": 53
                                      }
                                    },
                                    "name": "Vector3"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 10874,
                                    "end": 10875,
                                    "loc": {
                                      "start": {
                                        "line": 292,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 292,
                                        "column": 55
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 10876,
                                    "end": 10877,
                                    "loc": {
                                      "start": {
                                        "line": 292,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 292,
                                        "column": 57
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 10878,
                                    "end": 10879,
                                    "loc": {
                                      "start": {
                                        "line": 292,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 292,
                                        "column": 59
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 10891,
                      "end": 10957,
                      "loc": {
                        "start": {
                          "line": 293,
                          "column": 8
                        },
                        "end": {
                          "line": 293,
                          "column": 74
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 10895,
                          "end": 10956,
                          "loc": {
                            "start": {
                              "line": 293,
                              "column": 12
                            },
                            "end": {
                              "line": 293,
                              "column": 73
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 10895,
                            "end": 10899,
                            "loc": {
                              "start": {
                                "line": 293,
                                "column": 12
                              },
                              "end": {
                                "line": 293,
                                "column": 16
                              }
                            },
                            "name": "sign"
                          },
                          "init": {
                            "type": "ConditionalExpression",
                            "start": 10902,
                            "end": 10956,
                            "loc": {
                              "start": {
                                "line": 293,
                                "column": 19
                              },
                              "end": {
                                "line": 293,
                                "column": 73
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 10902,
                              "end": 10947,
                              "loc": {
                                "start": {
                                  "line": 293,
                                  "column": 19
                                },
                                "end": {
                                  "line": 293,
                                  "column": 64
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 10902,
                                "end": 10942,
                                "loc": {
                                  "start": {
                                    "line": 293,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 293,
                                    "column": 59
                                  }
                                },
                                "object": {
                                  "type": "CallExpression",
                                  "start": 10902,
                                  "end": 10940,
                                  "loc": {
                                    "start": {
                                      "line": 293,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 293,
                                      "column": 57
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 10902,
                                    "end": 10914,
                                    "loc": {
                                      "start": {
                                        "line": 293,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 293,
                                        "column": 31
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 10902,
                                      "end": 10908,
                                      "loc": {
                                        "start": {
                                          "line": 293,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 293,
                                          "column": 25
                                        }
                                      },
                                      "name": "vector"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10909,
                                      "end": 10914,
                                      "loc": {
                                        "start": {
                                          "line": 293,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 293,
                                          "column": 31
                                        }
                                      },
                                      "name": "cross"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "NewExpression",
                                      "start": 10915,
                                      "end": 10939,
                                      "loc": {
                                        "start": {
                                          "line": 293,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 293,
                                          "column": 56
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 10919,
                                        "end": 10932,
                                        "loc": {
                                          "start": {
                                            "line": 293,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 293,
                                            "column": 49
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 10919,
                                          "end": 10924,
                                          "loc": {
                                            "start": {
                                              "line": 293,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 293,
                                              "column": 41
                                            }
                                          },
                                          "name": "THREE"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 10925,
                                          "end": 10932,
                                          "loc": {
                                            "start": {
                                              "line": 293,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 293,
                                              "column": 49
                                            }
                                          },
                                          "name": "Vector3"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Literal",
                                          "start": 10933,
                                          "end": 10934,
                                          "loc": {
                                            "start": {
                                              "line": 293,
                                              "column": 50
                                            },
                                            "end": {
                                              "line": 293,
                                              "column": 51
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 10935,
                                          "end": 10936,
                                          "loc": {
                                            "start": {
                                              "line": 293,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 293,
                                              "column": 53
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 10937,
                                          "end": 10938,
                                          "loc": {
                                            "start": {
                                              "line": 293,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 293,
                                              "column": 55
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        }
                                      ]
                                    }
                                  ]
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10941,
                                  "end": 10942,
                                  "loc": {
                                    "start": {
                                      "line": 293,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 293,
                                      "column": 59
                                    }
                                  },
                                  "name": "z"
                                },
                                "computed": false
                              },
                              "operator": ">=",
                              "right": {
                                "type": "Literal",
                                "start": 10946,
                                "end": 10947,
                                "loc": {
                                  "start": {
                                    "line": 293,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 293,
                                    "column": 64
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              }
                            },
                            "consequent": {
                              "type": "UnaryExpression",
                              "start": 10950,
                              "end": 10952,
                              "loc": {
                                "start": {
                                  "line": 293,
                                  "column": 67
                                },
                                "end": {
                                  "line": 293,
                                  "column": 69
                                }
                              },
                              "operator": "-",
                              "prefix": true,
                              "argument": {
                                "type": "Literal",
                                "start": 10951,
                                "end": 10952,
                                "loc": {
                                  "start": {
                                    "line": 293,
                                    "column": 68
                                  },
                                  "end": {
                                    "line": 293,
                                    "column": 69
                                  }
                                },
                                "value": 1,
                                "rawValue": 1,
                                "raw": "1"
                              }
                            },
                            "alternate": {
                              "type": "Literal",
                              "start": 10955,
                              "end": 10956,
                              "loc": {
                                "start": {
                                  "line": 293,
                                  "column": 72
                                },
                                "end": {
                                  "line": 293,
                                  "column": 73
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 10966,
                      "end": 11001,
                      "loc": {
                        "start": {
                          "line": 294,
                          "column": 8
                        },
                        "end": {
                          "line": 294,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 10966,
                        "end": 11000,
                        "loc": {
                          "start": {
                            "line": 294,
                            "column": 8
                          },
                          "end": {
                            "line": 294,
                            "column": 42
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 10966,
                          "end": 10971,
                          "loc": {
                            "start": {
                              "line": 294,
                              "column": 8
                            },
                            "end": {
                              "line": 294,
                              "column": 13
                            }
                          },
                          "name": "angle"
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "start": 10974,
                          "end": 11000,
                          "loc": {
                            "start": {
                              "line": 294,
                              "column": 16
                            },
                            "end": {
                              "line": 294,
                              "column": 42
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 10974,
                            "end": 10986,
                            "loc": {
                              "start": {
                                "line": 294,
                                "column": 16
                              },
                              "end": {
                                "line": 294,
                                "column": 28
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 10974,
                              "end": 10979,
                              "loc": {
                                "start": {
                                  "line": 294,
                                  "column": 16
                                },
                                "end": {
                                  "line": 294,
                                  "column": 21
                                }
                              },
                              "name": "angle"
                            },
                            "operator": "*",
                            "right": {
                              "type": "Identifier",
                              "start": 10982,
                              "end": 10986,
                              "loc": {
                                "start": {
                                  "line": 294,
                                  "column": 24
                                },
                                "end": {
                                  "line": 294,
                                  "column": 28
                                }
                              },
                              "name": "sign"
                            }
                          },
                          "operator": "-",
                          "right": {
                            "type": "BinaryExpression",
                            "start": 10989,
                            "end": 11000,
                            "loc": {
                              "start": {
                                "line": 294,
                                "column": 31
                              },
                              "end": {
                                "line": 294,
                                "column": 42
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 10989,
                              "end": 10996,
                              "loc": {
                                "start": {
                                  "line": 294,
                                  "column": 31
                                },
                                "end": {
                                  "line": 294,
                                  "column": 38
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 10989,
                                "end": 10993,
                                "loc": {
                                  "start": {
                                    "line": 294,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 294,
                                    "column": 35
                                  }
                                },
                                "name": "Math"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10994,
                                "end": 10996,
                                "loc": {
                                  "start": {
                                    "line": 294,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 294,
                                    "column": 38
                                  }
                                },
                                "name": "PI"
                              },
                              "computed": false
                            },
                            "operator": "/",
                            "right": {
                              "type": "Literal",
                              "start": 10999,
                              "end": 11000,
                              "loc": {
                                "start": {
                                  "line": 294,
                                  "column": 41
                                },
                                "end": {
                                  "line": 294,
                                  "column": 42
                                }
                              },
                              "value": 2,
                              "rawValue": 2,
                              "raw": "2"
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 11011,
                      "end": 11113,
                      "loc": {
                        "start": {
                          "line": 296,
                          "column": 8
                        },
                        "end": {
                          "line": 296,
                          "column": 110
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 11015,
                          "end": 11112,
                          "loc": {
                            "start": {
                              "line": 296,
                              "column": 12
                            },
                            "end": {
                              "line": 296,
                              "column": 109
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 11015,
                            "end": 11018,
                            "loc": {
                              "start": {
                                "line": 296,
                                "column": 12
                              },
                              "end": {
                                "line": 296,
                                "column": 15
                              }
                            },
                            "name": "pos"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 11021,
                            "end": 11112,
                            "loc": {
                              "start": {
                                "line": 296,
                                "column": 18
                              },
                              "end": {
                                "line": 296,
                                "column": 109
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 11021,
                              "end": 11049,
                              "loc": {
                                "start": {
                                  "line": 296,
                                  "column": 18
                                },
                                "end": {
                                  "line": 296,
                                  "column": 46
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 11021,
                                "end": 11045,
                                "loc": {
                                  "start": {
                                    "line": 296,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 296,
                                    "column": 42
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11021,
                                  "end": 11043,
                                  "loc": {
                                    "start": {
                                      "line": 296,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 296,
                                      "column": 40
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11021,
                                    "end": 11025,
                                    "loc": {
                                      "start": {
                                        "line": 296,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 296,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11026,
                                    "end": 11043,
                                    "loc": {
                                      "start": {
                                        "line": 296,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 296,
                                        "column": 40
                                      }
                                    },
                                    "name": "getMiddlePosition"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11046,
                                "end": 11049,
                                "loc": {
                                  "start": {
                                    "line": 296,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 296,
                                    "column": 46
                                  }
                                },
                                "name": "add"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "NewExpression",
                                "start": 11050,
                                "end": 11111,
                                "loc": {
                                  "start": {
                                    "line": 296,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 296,
                                    "column": 108
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11054,
                                  "end": 11067,
                                  "loc": {
                                    "start": {
                                      "line": 296,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 296,
                                      "column": 64
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11054,
                                    "end": 11059,
                                    "loc": {
                                      "start": {
                                        "line": 296,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 296,
                                        "column": 56
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11060,
                                    "end": 11067,
                                    "loc": {
                                      "start": {
                                        "line": 296,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 296,
                                        "column": 64
                                      }
                                    },
                                    "name": "Vector3"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "BinaryExpression",
                                    "start": 11068,
                                    "end": 11087,
                                    "loc": {
                                      "start": {
                                        "line": 296,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 296,
                                        "column": 84
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 11068,
                                      "end": 11069,
                                      "loc": {
                                        "start": {
                                          "line": 296,
                                          "column": 65
                                        },
                                        "end": {
                                          "line": 296,
                                          "column": 66
                                        }
                                      },
                                      "name": "a"
                                    },
                                    "operator": "*",
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 11072,
                                      "end": 11087,
                                      "loc": {
                                        "start": {
                                          "line": 296,
                                          "column": 69
                                        },
                                        "end": {
                                          "line": 296,
                                          "column": 84
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 11072,
                                        "end": 11080,
                                        "loc": {
                                          "start": {
                                            "line": 296,
                                            "column": 69
                                          },
                                          "end": {
                                            "line": 296,
                                            "column": 77
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 11072,
                                          "end": 11076,
                                          "loc": {
                                            "start": {
                                              "line": 296,
                                              "column": 69
                                            },
                                            "end": {
                                              "line": 296,
                                              "column": 73
                                            }
                                          },
                                          "name": "Math"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11077,
                                          "end": 11080,
                                          "loc": {
                                            "start": {
                                              "line": 296,
                                              "column": 74
                                            },
                                            "end": {
                                              "line": 296,
                                              "column": 77
                                            }
                                          },
                                          "name": "cos"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 11081,
                                          "end": 11086,
                                          "loc": {
                                            "start": {
                                              "line": 296,
                                              "column": 78
                                            },
                                            "end": {
                                              "line": 296,
                                              "column": 83
                                            }
                                          },
                                          "name": "angle"
                                        }
                                      ]
                                    }
                                  },
                                  {
                                    "type": "BinaryExpression",
                                    "start": 11089,
                                    "end": 11108,
                                    "loc": {
                                      "start": {
                                        "line": 296,
                                        "column": 86
                                      },
                                      "end": {
                                        "line": 296,
                                        "column": 105
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 11089,
                                      "end": 11090,
                                      "loc": {
                                        "start": {
                                          "line": 296,
                                          "column": 86
                                        },
                                        "end": {
                                          "line": 296,
                                          "column": 87
                                        }
                                      },
                                      "name": "b"
                                    },
                                    "operator": "*",
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 11093,
                                      "end": 11108,
                                      "loc": {
                                        "start": {
                                          "line": 296,
                                          "column": 90
                                        },
                                        "end": {
                                          "line": 296,
                                          "column": 105
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 11093,
                                        "end": 11101,
                                        "loc": {
                                          "start": {
                                            "line": 296,
                                            "column": 90
                                          },
                                          "end": {
                                            "line": 296,
                                            "column": 98
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 11093,
                                          "end": 11097,
                                          "loc": {
                                            "start": {
                                              "line": 296,
                                              "column": 90
                                            },
                                            "end": {
                                              "line": 296,
                                              "column": 94
                                            }
                                          },
                                          "name": "Math"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11098,
                                          "end": 11101,
                                          "loc": {
                                            "start": {
                                              "line": 296,
                                              "column": 95
                                            },
                                            "end": {
                                              "line": 296,
                                              "column": 98
                                            }
                                          },
                                          "name": "sin"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 11102,
                                          "end": 11107,
                                          "loc": {
                                            "start": {
                                              "line": 296,
                                              "column": 99
                                            },
                                            "end": {
                                              "line": 296,
                                              "column": 104
                                            }
                                          },
                                          "name": "angle"
                                        }
                                      ]
                                    }
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 11109,
                                    "end": 11110,
                                    "loc": {
                                      "start": {
                                        "line": 296,
                                        "column": 106
                                      },
                                      "end": {
                                        "line": 296,
                                        "column": 107
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 11122,
                      "end": 11133,
                      "loc": {
                        "start": {
                          "line": 297,
                          "column": 8
                        },
                        "end": {
                          "line": 297,
                          "column": 19
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 11129,
                        "end": 11132,
                        "loc": {
                          "start": {
                            "line": 297,
                            "column": 15
                          },
                          "end": {
                            "line": 297,
                            "column": 18
                          }
                        },
                        "name": "pos"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 11145,
              "end": 11904,
              "loc": {
                "start": {
                  "line": 300,
                  "column": 4
                },
                "end": {
                  "line": 316,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 11145,
                "end": 11164,
                "loc": {
                  "start": {
                    "line": 300,
                    "column": 4
                  },
                  "end": {
                    "line": 300,
                    "column": 23
                  }
                },
                "name": "updateVisualization"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 11164,
                "end": 11904,
                "loc": {
                  "start": {
                    "line": 300,
                    "column": 23
                  },
                  "end": {
                    "line": 316,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 11167,
                  "end": 11904,
                  "loc": {
                    "start": {
                      "line": 300,
                      "column": 26
                    },
                    "end": {
                      "line": 316,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 11177,
                      "end": 11248,
                      "loc": {
                        "start": {
                          "line": 301,
                          "column": 8
                        },
                        "end": {
                          "line": 301,
                          "column": 79
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 11181,
                          "end": 11247,
                          "loc": {
                            "start": {
                              "line": 301,
                              "column": 12
                            },
                            "end": {
                              "line": 301,
                              "column": 78
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 11181,
                            "end": 11185,
                            "loc": {
                              "start": {
                                "line": 301,
                                "column": 12
                              },
                              "end": {
                                "line": 301,
                                "column": 16
                              }
                            },
                            "name": "xMax"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 11188,
                            "end": 11247,
                            "loc": {
                              "start": {
                                "line": 301,
                                "column": 19
                              },
                              "end": {
                                "line": 301,
                                "column": 78
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 11188,
                              "end": 11222,
                              "loc": {
                                "start": {
                                  "line": 301,
                                  "column": 19
                                },
                                "end": {
                                  "line": 301,
                                  "column": 53
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 11188,
                                "end": 11211,
                                "loc": {
                                  "start": {
                                    "line": 301,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 301,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11188,
                                  "end": 11202,
                                  "loc": {
                                    "start": {
                                      "line": 301,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 301,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11188,
                                    "end": 11199,
                                    "loc": {
                                      "start": {
                                        "line": 301,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 301,
                                        "column": 30
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11188,
                                      "end": 11192,
                                      "loc": {
                                        "start": {
                                          "line": 301,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 301,
                                          "column": 23
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11193,
                                      "end": 11199,
                                      "loc": {
                                        "start": {
                                          "line": 301,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 301,
                                          "column": 30
                                        }
                                      },
                                      "name": "points"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11200,
                                    "end": 11201,
                                    "loc": {
                                      "start": {
                                        "line": 301,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 301,
                                        "column": 32
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11203,
                                  "end": 11211,
                                  "loc": {
                                    "start": {
                                      "line": 301,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 301,
                                      "column": 42
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11212,
                                "end": 11222,
                                "loc": {
                                  "start": {
                                    "line": 301,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 301,
                                    "column": 53
                                  }
                                },
                                "name": "distanceTo"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 11223,
                                "end": 11246,
                                "loc": {
                                  "start": {
                                    "line": 301,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 301,
                                    "column": 77
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11223,
                                  "end": 11237,
                                  "loc": {
                                    "start": {
                                      "line": 301,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 301,
                                      "column": 68
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11223,
                                    "end": 11234,
                                    "loc": {
                                      "start": {
                                        "line": 301,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 301,
                                        "column": 65
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11223,
                                      "end": 11227,
                                      "loc": {
                                        "start": {
                                          "line": 301,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 301,
                                          "column": 58
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11228,
                                      "end": 11234,
                                      "loc": {
                                        "start": {
                                          "line": 301,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 301,
                                          "column": 65
                                        }
                                      },
                                      "name": "points"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11235,
                                    "end": 11236,
                                    "loc": {
                                      "start": {
                                        "line": 301,
                                        "column": 66
                                      },
                                      "end": {
                                        "line": 301,
                                        "column": 67
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11238,
                                  "end": 11246,
                                  "loc": {
                                    "start": {
                                      "line": 301,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 301,
                                      "column": 77
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 11257,
                      "end": 11279,
                      "loc": {
                        "start": {
                          "line": 302,
                          "column": 8
                        },
                        "end": {
                          "line": 302,
                          "column": 30
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 11261,
                          "end": 11278,
                          "loc": {
                            "start": {
                              "line": 302,
                              "column": 12
                            },
                            "end": {
                              "line": 302,
                              "column": 29
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 11261,
                            "end": 11265,
                            "loc": {
                              "start": {
                                "line": 302,
                                "column": 12
                              },
                              "end": {
                                "line": 302,
                                "column": 16
                              }
                            },
                            "name": "yMax"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 11268,
                            "end": 11278,
                            "loc": {
                              "start": {
                                "line": 302,
                                "column": 19
                              },
                              "end": {
                                "line": 302,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11268,
                              "end": 11272,
                              "loc": {
                                "start": {
                                  "line": 302,
                                  "column": 19
                                },
                                "end": {
                                  "line": 302,
                                  "column": 23
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11273,
                              "end": 11278,
                              "loc": {
                                "start": {
                                  "line": 302,
                                  "column": 24
                                },
                                "end": {
                                  "line": 302,
                                  "column": 29
                                }
                              },
                              "name": "width"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " update scale of this.mesh",
                          "start": 11289,
                          "end": 11317,
                          "loc": {
                            "start": {
                              "line": 304,
                              "column": 8
                            },
                            "end": {
                              "line": 304,
                              "column": 36
                            }
                          },
                          "range": [
                            11289,
                            11317
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 11326,
                      "end": 11341,
                      "loc": {
                        "start": {
                          "line": 305,
                          "column": 8
                        },
                        "end": {
                          "line": 305,
                          "column": 23
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 11330,
                          "end": 11340,
                          "loc": {
                            "start": {
                              "line": 305,
                              "column": 12
                            },
                            "end": {
                              "line": 305,
                              "column": 22
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 11330,
                            "end": 11333,
                            "loc": {
                              "start": {
                                "line": 305,
                                "column": 12
                              },
                              "end": {
                                "line": 305,
                                "column": 15
                              }
                            },
                            "name": "eps",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "Literal",
                            "start": 11336,
                            "end": 11340,
                            "loc": {
                              "start": {
                                "line": 305,
                                "column": 18
                              },
                              "end": {
                                "line": 305,
                                "column": 22
                              }
                            },
                            "value": 0.001,
                            "rawValue": 0.001,
                            "raw": "1e-3"
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " update scale of this.mesh",
                          "start": 11289,
                          "end": 11317,
                          "loc": {
                            "start": {
                              "line": 304,
                              "column": 8
                            },
                            "end": {
                              "line": 304,
                              "column": 36
                            }
                          },
                          "range": [
                            11289,
                            11317
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11350,
                      "end": 11417,
                      "loc": {
                        "start": {
                          "line": 306,
                          "column": 8
                        },
                        "end": {
                          "line": 306,
                          "column": 75
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 11350,
                        "end": 11416,
                        "loc": {
                          "start": {
                            "line": 306,
                            "column": 8
                          },
                          "end": {
                            "line": 306,
                            "column": 74
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 11350,
                          "end": 11369,
                          "loc": {
                            "start": {
                              "line": 306,
                              "column": 8
                            },
                            "end": {
                              "line": 306,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 11350,
                            "end": 11365,
                            "loc": {
                              "start": {
                                "line": 306,
                                "column": 8
                              },
                              "end": {
                                "line": 306,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 11350,
                              "end": 11359,
                              "loc": {
                                "start": {
                                  "line": 306,
                                  "column": 8
                                },
                                "end": {
                                  "line": 306,
                                  "column": 17
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 11350,
                                "end": 11354,
                                "loc": {
                                  "start": {
                                    "line": 306,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 306,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11355,
                                "end": 11359,
                                "loc": {
                                  "start": {
                                    "line": 306,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 306,
                                    "column": 17
                                  }
                                },
                                "name": "mesh"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11360,
                              "end": 11365,
                              "loc": {
                                "start": {
                                  "line": 306,
                                  "column": 18
                                },
                                "end": {
                                  "line": 306,
                                  "column": 23
                                }
                              },
                              "name": "scale"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11366,
                            "end": 11369,
                            "loc": {
                              "start": {
                                "line": 306,
                                "column": 24
                              },
                              "end": {
                                "line": 306,
                                "column": 27
                              }
                            },
                            "name": "set"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 11370,
                            "end": 11389,
                            "loc": {
                              "start": {
                                "line": 306,
                                "column": 28
                              },
                              "end": {
                                "line": 306,
                                "column": 47
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 11370,
                              "end": 11378,
                              "loc": {
                                "start": {
                                  "line": 306,
                                  "column": 28
                                },
                                "end": {
                                  "line": 306,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 11370,
                                "end": 11374,
                                "loc": {
                                  "start": {
                                    "line": 306,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 306,
                                    "column": 32
                                  }
                                },
                                "name": "Math"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11375,
                                "end": 11378,
                                "loc": {
                                  "start": {
                                    "line": 306,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 306,
                                    "column": 36
                                  }
                                },
                                "name": "max"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 11379,
                                "end": 11383,
                                "loc": {
                                  "start": {
                                    "line": 306,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 306,
                                    "column": 41
                                  }
                                },
                                "name": "xMax"
                              },
                              {
                                "type": "Identifier",
                                "start": 11385,
                                "end": 11388,
                                "loc": {
                                  "start": {
                                    "line": 306,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 306,
                                    "column": 46
                                  }
                                },
                                "name": "eps"
                              }
                            ]
                          },
                          {
                            "type": "CallExpression",
                            "start": 11391,
                            "end": 11410,
                            "loc": {
                              "start": {
                                "line": 306,
                                "column": 49
                              },
                              "end": {
                                "line": 306,
                                "column": 68
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 11391,
                              "end": 11399,
                              "loc": {
                                "start": {
                                  "line": 306,
                                  "column": 49
                                },
                                "end": {
                                  "line": 306,
                                  "column": 57
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 11391,
                                "end": 11395,
                                "loc": {
                                  "start": {
                                    "line": 306,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 306,
                                    "column": 53
                                  }
                                },
                                "name": "Math"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11396,
                                "end": 11399,
                                "loc": {
                                  "start": {
                                    "line": 306,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 306,
                                    "column": 57
                                  }
                                },
                                "name": "max"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 11400,
                                "end": 11404,
                                "loc": {
                                  "start": {
                                    "line": 306,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 306,
                                    "column": 62
                                  }
                                },
                                "name": "yMax"
                              },
                              {
                                "type": "Identifier",
                                "start": 11406,
                                "end": 11409,
                                "loc": {
                                  "start": {
                                    "line": 306,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 306,
                                    "column": 67
                                  }
                                },
                                "name": "eps"
                              }
                            ]
                          },
                          {
                            "type": "Identifier",
                            "start": 11412,
                            "end": 11415,
                            "loc": {
                              "start": {
                                "line": 306,
                                "column": 70
                              },
                              "end": {
                                "line": 306,
                                "column": 73
                              }
                            },
                            "name": "eps"
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " set quaternion of shortest-arc rotation from OX axis to line direction",
                          "start": 11427,
                          "end": 11500,
                          "loc": {
                            "start": {
                              "line": 308,
                              "column": 8
                            },
                            "end": {
                              "line": 308,
                              "column": 81
                            }
                          },
                          "range": [
                            11427,
                            11500
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 11509,
                      "end": 11592,
                      "loc": {
                        "start": {
                          "line": 309,
                          "column": 8
                        },
                        "end": {
                          "line": 309,
                          "column": 91
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 11513,
                          "end": 11591,
                          "loc": {
                            "start": {
                              "line": 309,
                              "column": 12
                            },
                            "end": {
                              "line": 309,
                              "column": 90
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 11513,
                            "end": 11516,
                            "loc": {
                              "start": {
                                "line": 309,
                                "column": 12
                              },
                              "end": {
                                "line": 309,
                                "column": 15
                              }
                            },
                            "name": "dir",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 11519,
                            "end": 11591,
                            "loc": {
                              "start": {
                                "line": 309,
                                "column": 18
                              },
                              "end": {
                                "line": 309,
                                "column": 90
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 11519,
                              "end": 11589,
                              "loc": {
                                "start": {
                                  "line": 309,
                                  "column": 18
                                },
                                "end": {
                                  "line": 309,
                                  "column": 88
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 11519,
                                "end": 11579,
                                "loc": {
                                  "start": {
                                    "line": 309,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 309,
                                    "column": 78
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11519,
                                  "end": 11554,
                                  "loc": {
                                    "start": {
                                      "line": 309,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 309,
                                      "column": 53
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 11519,
                                    "end": 11550,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 49
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 11519,
                                      "end": 11548,
                                      "loc": {
                                        "start": {
                                          "line": 309,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 309,
                                          "column": 47
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 11519,
                                        "end": 11542,
                                        "loc": {
                                          "start": {
                                            "line": 309,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 309,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 11519,
                                          "end": 11533,
                                          "loc": {
                                            "start": {
                                              "line": 309,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 309,
                                              "column": 32
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 11519,
                                            "end": 11530,
                                            "loc": {
                                              "start": {
                                                "line": 309,
                                                "column": 18
                                              },
                                              "end": {
                                                "line": 309,
                                                "column": 29
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 11519,
                                              "end": 11523,
                                              "loc": {
                                                "start": {
                                                  "line": 309,
                                                  "column": 18
                                                },
                                                "end": {
                                                  "line": 309,
                                                  "column": 22
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 11524,
                                              "end": 11530,
                                              "loc": {
                                                "start": {
                                                  "line": 309,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 309,
                                                  "column": 29
                                                }
                                              },
                                              "name": "points"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "start": 11531,
                                            "end": 11532,
                                            "loc": {
                                              "start": {
                                                "line": 309,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 309,
                                                "column": 31
                                              }
                                            },
                                            "value": 1,
                                            "rawValue": 1,
                                            "raw": "1"
                                          },
                                          "computed": true
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11534,
                                          "end": 11542,
                                          "loc": {
                                            "start": {
                                              "line": 309,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 309,
                                              "column": 41
                                            }
                                          },
                                          "name": "position"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 11543,
                                        "end": 11548,
                                        "loc": {
                                          "start": {
                                            "line": 309,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 309,
                                            "column": 47
                                          }
                                        },
                                        "name": "clone"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11551,
                                    "end": 11554,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 53
                                      }
                                    },
                                    "name": "sub"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 11555,
                                    "end": 11578,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 77
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 11555,
                                      "end": 11569,
                                      "loc": {
                                        "start": {
                                          "line": 309,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 309,
                                          "column": 68
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 11555,
                                        "end": 11566,
                                        "loc": {
                                          "start": {
                                            "line": 309,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 309,
                                            "column": 65
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 11555,
                                          "end": 11559,
                                          "loc": {
                                            "start": {
                                              "line": 309,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 309,
                                              "column": 58
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11560,
                                          "end": 11566,
                                          "loc": {
                                            "start": {
                                              "line": 309,
                                              "column": 59
                                            },
                                            "end": {
                                              "line": 309,
                                              "column": 65
                                            }
                                          },
                                          "name": "points"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Literal",
                                        "start": 11567,
                                        "end": 11568,
                                        "loc": {
                                          "start": {
                                            "line": 309,
                                            "column": 66
                                          },
                                          "end": {
                                            "line": 309,
                                            "column": 67
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11570,
                                      "end": 11578,
                                      "loc": {
                                        "start": {
                                          "line": 309,
                                          "column": 69
                                        },
                                        "end": {
                                          "line": 309,
                                          "column": 77
                                        }
                                      },
                                      "name": "position"
                                    },
                                    "computed": false
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11580,
                                "end": 11589,
                                "loc": {
                                  "start": {
                                    "line": 309,
                                    "column": 79
                                  },
                                  "end": {
                                    "line": 309,
                                    "column": 88
                                  }
                                },
                                "name": "normalize"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " set quaternion of shortest-arc rotation from OX axis to line direction",
                          "start": 11427,
                          "end": 11500,
                          "loc": {
                            "start": {
                              "line": 308,
                              "column": 8
                            },
                            "end": {
                              "line": 308,
                              "column": 81
                            }
                          },
                          "range": [
                            11427,
                            11500
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 11601,
                      "end": 11684,
                      "loc": {
                        "start": {
                          "line": 310,
                          "column": 8
                        },
                        "end": {
                          "line": 310,
                          "column": 91
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 11605,
                          "end": 11683,
                          "loc": {
                            "start": {
                              "line": 310,
                              "column": 12
                            },
                            "end": {
                              "line": 310,
                              "column": 90
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 11605,
                            "end": 11606,
                            "loc": {
                              "start": {
                                "line": 310,
                                "column": 12
                              },
                              "end": {
                                "line": 310,
                                "column": 13
                              }
                            },
                            "name": "q"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 11609,
                            "end": 11683,
                            "loc": {
                              "start": {
                                "line": 310,
                                "column": 16
                              },
                              "end": {
                                "line": 310,
                                "column": 90
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 11609,
                              "end": 11650,
                              "loc": {
                                "start": {
                                  "line": 310,
                                  "column": 16
                                },
                                "end": {
                                  "line": 310,
                                  "column": 57
                                }
                              },
                              "object": {
                                "type": "NewExpression",
                                "start": 11609,
                                "end": 11631,
                                "loc": {
                                  "start": {
                                    "line": 310,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 310,
                                    "column": 38
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11613,
                                  "end": 11629,
                                  "loc": {
                                    "start": {
                                      "line": 310,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 310,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11613,
                                    "end": 11618,
                                    "loc": {
                                      "start": {
                                        "line": 310,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 310,
                                        "column": 25
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11619,
                                    "end": 11629,
                                    "loc": {
                                      "start": {
                                        "line": 310,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 310,
                                        "column": 36
                                      }
                                    },
                                    "name": "Quaternion"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11632,
                                "end": 11650,
                                "loc": {
                                  "start": {
                                    "line": 310,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 310,
                                    "column": 57
                                  }
                                },
                                "name": "setFromUnitVectors"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "NewExpression",
                                "start": 11651,
                                "end": 11677,
                                "loc": {
                                  "start": {
                                    "line": 310,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 310,
                                    "column": 84
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11655,
                                  "end": 11668,
                                  "loc": {
                                    "start": {
                                      "line": 310,
                                      "column": 62
                                    },
                                    "end": {
                                      "line": 310,
                                      "column": 75
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11655,
                                    "end": 11660,
                                    "loc": {
                                      "start": {
                                        "line": 310,
                                        "column": 62
                                      },
                                      "end": {
                                        "line": 310,
                                        "column": 67
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11661,
                                    "end": 11668,
                                    "loc": {
                                      "start": {
                                        "line": 310,
                                        "column": 68
                                      },
                                      "end": {
                                        "line": 310,
                                        "column": 75
                                      }
                                    },
                                    "name": "Vector3"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 11669,
                                    "end": 11670,
                                    "loc": {
                                      "start": {
                                        "line": 310,
                                        "column": 76
                                      },
                                      "end": {
                                        "line": 310,
                                        "column": 77
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 11672,
                                    "end": 11673,
                                    "loc": {
                                      "start": {
                                        "line": 310,
                                        "column": 79
                                      },
                                      "end": {
                                        "line": 310,
                                        "column": 80
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 11675,
                                    "end": 11676,
                                    "loc": {
                                      "start": {
                                        "line": 310,
                                        "column": 82
                                      },
                                      "end": {
                                        "line": 310,
                                        "column": 83
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                ]
                              },
                              {
                                "type": "Identifier",
                                "start": 11679,
                                "end": 11682,
                                "loc": {
                                  "start": {
                                    "line": 310,
                                    "column": 86
                                  },
                                  "end": {
                                    "line": 310,
                                    "column": 89
                                  }
                                },
                                "name": "dir"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11693,
                      "end": 11722,
                      "loc": {
                        "start": {
                          "line": 311,
                          "column": 8
                        },
                        "end": {
                          "line": 311,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 11693,
                        "end": 11721,
                        "loc": {
                          "start": {
                            "line": 311,
                            "column": 8
                          },
                          "end": {
                            "line": 311,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 11693,
                          "end": 11718,
                          "loc": {
                            "start": {
                              "line": 311,
                              "column": 8
                            },
                            "end": {
                              "line": 311,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 11693,
                            "end": 11713,
                            "loc": {
                              "start": {
                                "line": 311,
                                "column": 8
                              },
                              "end": {
                                "line": 311,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 11693,
                              "end": 11702,
                              "loc": {
                                "start": {
                                  "line": 311,
                                  "column": 8
                                },
                                "end": {
                                  "line": 311,
                                  "column": 17
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 11693,
                                "end": 11697,
                                "loc": {
                                  "start": {
                                    "line": 311,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 311,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11698,
                                "end": 11702,
                                "loc": {
                                  "start": {
                                    "line": 311,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 311,
                                    "column": 17
                                  }
                                },
                                "name": "mesh"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11703,
                              "end": 11713,
                              "loc": {
                                "start": {
                                  "line": 311,
                                  "column": 18
                                },
                                "end": {
                                  "line": 311,
                                  "column": 28
                                }
                              },
                              "name": "quaternion"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11714,
                            "end": 11718,
                            "loc": {
                              "start": {
                                "line": 311,
                                "column": 29
                              },
                              "end": {
                                "line": 311,
                                "column": 33
                              }
                            },
                            "name": "copy"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 11719,
                            "end": 11720,
                            "loc": {
                              "start": {
                                "line": 311,
                                "column": 34
                              },
                              "end": {
                                "line": 311,
                                "column": 35
                              }
                            },
                            "name": "q"
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " set position of segment's center",
                          "start": 11732,
                          "end": 11767,
                          "loc": {
                            "start": {
                              "line": 313,
                              "column": 8
                            },
                            "end": {
                              "line": 313,
                              "column": 43
                            }
                          },
                          "range": [
                            11732,
                            11767
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11776,
                      "end": 11826,
                      "loc": {
                        "start": {
                          "line": 314,
                          "column": 8
                        },
                        "end": {
                          "line": 314,
                          "column": 58
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 11776,
                        "end": 11825,
                        "loc": {
                          "start": {
                            "line": 314,
                            "column": 8
                          },
                          "end": {
                            "line": 314,
                            "column": 57
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 11776,
                          "end": 11799,
                          "loc": {
                            "start": {
                              "line": 314,
                              "column": 8
                            },
                            "end": {
                              "line": 314,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 11776,
                            "end": 11794,
                            "loc": {
                              "start": {
                                "line": 314,
                                "column": 8
                              },
                              "end": {
                                "line": 314,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 11776,
                              "end": 11785,
                              "loc": {
                                "start": {
                                  "line": 314,
                                  "column": 8
                                },
                                "end": {
                                  "line": 314,
                                  "column": 17
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 11776,
                                "end": 11780,
                                "loc": {
                                  "start": {
                                    "line": 314,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 314,
                                    "column": 12
                                  }
                                },
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11781,
                                "end": 11785,
                                "loc": {
                                  "start": {
                                    "line": 314,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 314,
                                    "column": 17
                                  }
                                },
                                "name": "mesh"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11786,
                              "end": 11794,
                              "loc": {
                                "start": {
                                  "line": 314,
                                  "column": 18
                                },
                                "end": {
                                  "line": 314,
                                  "column": 26
                                }
                              },
                              "name": "position"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11795,
                            "end": 11799,
                            "loc": {
                              "start": {
                                "line": 314,
                                "column": 27
                              },
                              "end": {
                                "line": 314,
                                "column": 31
                              }
                            },
                            "name": "copy"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 11800,
                            "end": 11824,
                            "loc": {
                              "start": {
                                "line": 314,
                                "column": 32
                              },
                              "end": {
                                "line": 314,
                                "column": 56
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 11800,
                              "end": 11822,
                              "loc": {
                                "start": {
                                  "line": 314,
                                  "column": 32
                                },
                                "end": {
                                  "line": 314,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 11800,
                                "end": 11804,
                                "loc": {
                                  "start": {
                                    "line": 314,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 314,
                                    "column": 36
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11805,
                                "end": 11822,
                                "loc": {
                                  "start": {
                                    "line": 314,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 314,
                                    "column": 54
                                  }
                                },
                                "name": "getMiddlePosition"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " set position of segment's center",
                          "start": 11732,
                          "end": 11767,
                          "loc": {
                            "start": {
                              "line": 313,
                              "column": 8
                            },
                            "end": {
                              "line": 313,
                              "column": 43
                            }
                          },
                          "range": [
                            11732,
                            11767
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 11835,
                      "end": 11898,
                      "loc": {
                        "start": {
                          "line": 315,
                          "column": 8
                        },
                        "end": {
                          "line": 315,
                          "column": 71
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 11839,
                        "end": 11865,
                        "loc": {
                          "start": {
                            "line": 315,
                            "column": 12
                          },
                          "end": {
                            "line": 315,
                            "column": 38
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 11839,
                          "end": 11843,
                          "loc": {
                            "start": {
                              "line": 315,
                              "column": 12
                            },
                            "end": {
                              "line": 315,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 11844,
                          "end": 11865,
                          "loc": {
                            "start": {
                              "line": 315,
                              "column": 17
                            },
                            "end": {
                              "line": 315,
                              "column": 38
                            }
                          },
                          "name": "auxiliaryConstruction"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 11867,
                        "end": 11898,
                        "loc": {
                          "start": {
                            "line": 315,
                            "column": 40
                          },
                          "end": {
                            "line": 315,
                            "column": 71
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 11867,
                          "end": 11897,
                          "loc": {
                            "start": {
                              "line": 315,
                              "column": 40
                            },
                            "end": {
                              "line": 315,
                              "column": 70
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 11867,
                            "end": 11895,
                            "loc": {
                              "start": {
                                "line": 315,
                                "column": 40
                              },
                              "end": {
                                "line": 315,
                                "column": 68
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11867,
                              "end": 11871,
                              "loc": {
                                "start": {
                                  "line": 315,
                                  "column": 40
                                },
                                "end": {
                                  "line": 315,
                                  "column": 44
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11872,
                              "end": 11895,
                              "loc": {
                                "start": {
                                  "line": 315,
                                  "column": 45
                                },
                                "end": {
                                  "line": 315,
                                  "column": 68
                                }
                              },
                              "name": "updateAuxiliaryGeometry"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 11910,
              "end": 12038,
              "loc": {
                "start": {
                  "line": 318,
                  "column": 4
                },
                "end": {
                  "line": 320,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 11910,
                "end": 11918,
                "loc": {
                  "start": {
                    "line": 318,
                    "column": 4
                  },
                  "end": {
                    "line": 318,
                    "column": 12
                  }
                },
                "name": "getState"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 11918,
                "end": 12038,
                "loc": {
                  "start": {
                    "line": 318,
                    "column": 12
                  },
                  "end": {
                    "line": 320,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 11921,
                  "end": 12038,
                  "loc": {
                    "start": {
                      "line": 318,
                      "column": 15
                    },
                    "end": {
                      "line": 320,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 11931,
                      "end": 12032,
                      "loc": {
                        "start": {
                          "line": 319,
                          "column": 8
                        },
                        "end": {
                          "line": 319,
                          "column": 109
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 11938,
                        "end": 12031,
                        "loc": {
                          "start": {
                            "line": 319,
                            "column": 15
                          },
                          "end": {
                            "line": 319,
                            "column": 108
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 11942,
                          "end": 11945,
                          "loc": {
                            "start": {
                              "line": 319,
                              "column": 19
                            },
                            "end": {
                              "line": 319,
                              "column": 22
                            }
                          },
                          "name": "Map"
                        },
                        "arguments": [
                          {
                            "type": "ArrayExpression",
                            "start": 11946,
                            "end": 12030,
                            "loc": {
                              "start": {
                                "line": 319,
                                "column": 23
                              },
                              "end": {
                                "line": 319,
                                "column": 107
                              }
                            },
                            "elements": [
                              {
                                "type": "ArrayExpression",
                                "start": 11947,
                                "end": 11988,
                                "loc": {
                                  "start": {
                                    "line": 319,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 319,
                                    "column": 65
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 11948,
                                    "end": 11960,
                                    "loc": {
                                      "start": {
                                        "line": 319,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 319,
                                        "column": 37
                                      }
                                    },
                                    "value": "startPoint",
                                    "rawValue": "startPoint",
                                    "raw": "'startPoint'"
                                  },
                                  {
                                    "type": "CallExpression",
                                    "start": 11962,
                                    "end": 11987,
                                    "loc": {
                                      "start": {
                                        "line": 319,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 319,
                                        "column": 64
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 11962,
                                      "end": 11985,
                                      "loc": {
                                        "start": {
                                          "line": 319,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 319,
                                          "column": 62
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 11962,
                                        "end": 11976,
                                        "loc": {
                                          "start": {
                                            "line": 319,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 319,
                                            "column": 53
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 11962,
                                          "end": 11973,
                                          "loc": {
                                            "start": {
                                              "line": 319,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 319,
                                              "column": 50
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 11962,
                                            "end": 11966,
                                            "loc": {
                                              "start": {
                                                "line": 319,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 319,
                                                "column": 43
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11967,
                                            "end": 11973,
                                            "loc": {
                                              "start": {
                                                "line": 319,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 319,
                                                "column": 50
                                              }
                                            },
                                            "name": "points"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "start": 11974,
                                          "end": 11975,
                                          "loc": {
                                            "start": {
                                              "line": 319,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 319,
                                              "column": 52
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "computed": true
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 11977,
                                        "end": 11985,
                                        "loc": {
                                          "start": {
                                            "line": 319,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 319,
                                            "column": 62
                                          }
                                        },
                                        "name": "getState"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                ]
                              },
                              {
                                "type": "ArrayExpression",
                                "start": 11990,
                                "end": 12029,
                                "loc": {
                                  "start": {
                                    "line": 319,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 319,
                                    "column": 106
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 11991,
                                    "end": 12001,
                                    "loc": {
                                      "start": {
                                        "line": 319,
                                        "column": 68
                                      },
                                      "end": {
                                        "line": 319,
                                        "column": 78
                                      }
                                    },
                                    "value": "endPoint",
                                    "rawValue": "endPoint",
                                    "raw": "'endPoint'"
                                  },
                                  {
                                    "type": "CallExpression",
                                    "start": 12003,
                                    "end": 12028,
                                    "loc": {
                                      "start": {
                                        "line": 319,
                                        "column": 80
                                      },
                                      "end": {
                                        "line": 319,
                                        "column": 105
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 12003,
                                      "end": 12026,
                                      "loc": {
                                        "start": {
                                          "line": 319,
                                          "column": 80
                                        },
                                        "end": {
                                          "line": 319,
                                          "column": 103
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 12003,
                                        "end": 12017,
                                        "loc": {
                                          "start": {
                                            "line": 319,
                                            "column": 80
                                          },
                                          "end": {
                                            "line": 319,
                                            "column": 94
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 12003,
                                          "end": 12014,
                                          "loc": {
                                            "start": {
                                              "line": 319,
                                              "column": 80
                                            },
                                            "end": {
                                              "line": 319,
                                              "column": 91
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 12003,
                                            "end": 12007,
                                            "loc": {
                                              "start": {
                                                "line": 319,
                                                "column": 80
                                              },
                                              "end": {
                                                "line": 319,
                                                "column": 84
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 12008,
                                            "end": 12014,
                                            "loc": {
                                              "start": {
                                                "line": 319,
                                                "column": 85
                                              },
                                              "end": {
                                                "line": 319,
                                                "column": 91
                                              }
                                            },
                                            "name": "points"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "start": 12015,
                                          "end": 12016,
                                          "loc": {
                                            "start": {
                                              "line": 319,
                                              "column": 92
                                            },
                                            "end": {
                                              "line": 319,
                                              "column": 93
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "computed": true
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 12018,
                                        "end": 12026,
                                        "loc": {
                                          "start": {
                                            "line": 319,
                                            "column": 95
                                          },
                                          "end": {
                                            "line": 319,
                                            "column": 103
                                          }
                                        },
                                        "name": "getState"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 12044,
              "end": 12299,
              "loc": {
                "start": {
                  "line": 322,
                  "column": 4
                },
                "end": {
                  "line": 327,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 12044,
                "end": 12058,
                "loc": {
                  "start": {
                    "line": 322,
                    "column": 4
                  },
                  "end": {
                    "line": 322,
                    "column": 18
                  }
                },
                "name": "applyStateDiff"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 12058,
                "end": 12299,
                "loc": {
                  "start": {
                    "line": 322,
                    "column": 18
                  },
                  "end": {
                    "line": 327,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 12059,
                    "end": 12068,
                    "loc": {
                      "start": {
                        "line": 322,
                        "column": 19
                      },
                      "end": {
                        "line": 322,
                        "column": 28
                      }
                    },
                    "name": "stateDiff"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 12070,
                  "end": 12299,
                  "loc": {
                    "start": {
                      "line": 322,
                      "column": 30
                    },
                    "end": {
                      "line": 327,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 12080,
                      "end": 12184,
                      "loc": {
                        "start": {
                          "line": 323,
                          "column": 8
                        },
                        "end": {
                          "line": 324,
                          "column": 71
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 12084,
                        "end": 12111,
                        "loc": {
                          "start": {
                            "line": 323,
                            "column": 12
                          },
                          "end": {
                            "line": 323,
                            "column": 39
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 12084,
                          "end": 12097,
                          "loc": {
                            "start": {
                              "line": 323,
                              "column": 12
                            },
                            "end": {
                              "line": 323,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12084,
                            "end": 12093,
                            "loc": {
                              "start": {
                                "line": 323,
                                "column": 12
                              },
                              "end": {
                                "line": 323,
                                "column": 21
                              }
                            },
                            "name": "stateDiff"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12094,
                            "end": 12097,
                            "loc": {
                              "start": {
                                "line": 323,
                                "column": 22
                              },
                              "end": {
                                "line": 323,
                                "column": 25
                              }
                            },
                            "name": "has"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 12098,
                            "end": 12110,
                            "loc": {
                              "start": {
                                "line": 323,
                                "column": 26
                              },
                              "end": {
                                "line": 323,
                                "column": 38
                              }
                            },
                            "value": "startPoint",
                            "rawValue": "startPoint",
                            "raw": "'startPoint'"
                          }
                        ]
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 12125,
                        "end": 12184,
                        "loc": {
                          "start": {
                            "line": 324,
                            "column": 12
                          },
                          "end": {
                            "line": 324,
                            "column": 71
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 12125,
                          "end": 12183,
                          "loc": {
                            "start": {
                              "line": 324,
                              "column": 12
                            },
                            "end": {
                              "line": 324,
                              "column": 70
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 12125,
                            "end": 12154,
                            "loc": {
                              "start": {
                                "line": 324,
                                "column": 12
                              },
                              "end": {
                                "line": 324,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 12125,
                              "end": 12139,
                              "loc": {
                                "start": {
                                  "line": 324,
                                  "column": 12
                                },
                                "end": {
                                  "line": 324,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 12125,
                                "end": 12136,
                                "loc": {
                                  "start": {
                                    "line": 324,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 324,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12125,
                                  "end": 12129,
                                  "loc": {
                                    "start": {
                                      "line": 324,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 324,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12130,
                                  "end": 12136,
                                  "loc": {
                                    "start": {
                                      "line": 324,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 324,
                                      "column": 23
                                    }
                                  },
                                  "name": "points"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Literal",
                                "start": 12137,
                                "end": 12138,
                                "loc": {
                                  "start": {
                                    "line": 324,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 324,
                                    "column": 25
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "computed": true
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12140,
                              "end": 12154,
                              "loc": {
                                "start": {
                                  "line": 324,
                                  "column": 27
                                },
                                "end": {
                                  "line": 324,
                                  "column": 41
                                }
                              },
                              "name": "applyStateDiff"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 12155,
                              "end": 12182,
                              "loc": {
                                "start": {
                                  "line": 324,
                                  "column": 42
                                },
                                "end": {
                                  "line": 324,
                                  "column": 69
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 12155,
                                "end": 12168,
                                "loc": {
                                  "start": {
                                    "line": 324,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 324,
                                    "column": 55
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 12155,
                                  "end": 12164,
                                  "loc": {
                                    "start": {
                                      "line": 324,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 324,
                                      "column": 51
                                    }
                                  },
                                  "name": "stateDiff"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12165,
                                  "end": 12168,
                                  "loc": {
                                    "start": {
                                      "line": 324,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 324,
                                      "column": 55
                                    }
                                  },
                                  "name": "get"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 12169,
                                  "end": 12181,
                                  "loc": {
                                    "start": {
                                      "line": 324,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 324,
                                      "column": 68
                                    }
                                  },
                                  "value": "startPoint",
                                  "rawValue": "startPoint",
                                  "raw": "'startPoint'"
                                }
                              ]
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 12193,
                      "end": 12293,
                      "loc": {
                        "start": {
                          "line": 325,
                          "column": 8
                        },
                        "end": {
                          "line": 326,
                          "column": 69
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 12197,
                        "end": 12222,
                        "loc": {
                          "start": {
                            "line": 325,
                            "column": 12
                          },
                          "end": {
                            "line": 325,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 12197,
                          "end": 12210,
                          "loc": {
                            "start": {
                              "line": 325,
                              "column": 12
                            },
                            "end": {
                              "line": 325,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12197,
                            "end": 12206,
                            "loc": {
                              "start": {
                                "line": 325,
                                "column": 12
                              },
                              "end": {
                                "line": 325,
                                "column": 21
                              }
                            },
                            "name": "stateDiff"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12207,
                            "end": 12210,
                            "loc": {
                              "start": {
                                "line": 325,
                                "column": 22
                              },
                              "end": {
                                "line": 325,
                                "column": 25
                              }
                            },
                            "name": "has"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 12211,
                            "end": 12221,
                            "loc": {
                              "start": {
                                "line": 325,
                                "column": 26
                              },
                              "end": {
                                "line": 325,
                                "column": 36
                              }
                            },
                            "value": "endPoint",
                            "rawValue": "endPoint",
                            "raw": "'endPoint'"
                          }
                        ]
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 12236,
                        "end": 12293,
                        "loc": {
                          "start": {
                            "line": 326,
                            "column": 12
                          },
                          "end": {
                            "line": 326,
                            "column": 69
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 12236,
                          "end": 12292,
                          "loc": {
                            "start": {
                              "line": 326,
                              "column": 12
                            },
                            "end": {
                              "line": 326,
                              "column": 68
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 12236,
                            "end": 12265,
                            "loc": {
                              "start": {
                                "line": 326,
                                "column": 12
                              },
                              "end": {
                                "line": 326,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 12236,
                              "end": 12250,
                              "loc": {
                                "start": {
                                  "line": 326,
                                  "column": 12
                                },
                                "end": {
                                  "line": 326,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 12236,
                                "end": 12247,
                                "loc": {
                                  "start": {
                                    "line": 326,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 326,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12236,
                                  "end": 12240,
                                  "loc": {
                                    "start": {
                                      "line": 326,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 326,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12241,
                                  "end": 12247,
                                  "loc": {
                                    "start": {
                                      "line": 326,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 326,
                                      "column": 23
                                    }
                                  },
                                  "name": "points"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Literal",
                                "start": 12248,
                                "end": 12249,
                                "loc": {
                                  "start": {
                                    "line": 326,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 326,
                                    "column": 25
                                  }
                                },
                                "value": 1,
                                "rawValue": 1,
                                "raw": "1"
                              },
                              "computed": true
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12251,
                              "end": 12265,
                              "loc": {
                                "start": {
                                  "line": 326,
                                  "column": 27
                                },
                                "end": {
                                  "line": 326,
                                  "column": 41
                                }
                              },
                              "name": "applyStateDiff"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 12266,
                              "end": 12291,
                              "loc": {
                                "start": {
                                  "line": 326,
                                  "column": 42
                                },
                                "end": {
                                  "line": 326,
                                  "column": 67
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 12266,
                                "end": 12279,
                                "loc": {
                                  "start": {
                                    "line": 326,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 326,
                                    "column": 55
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 12266,
                                  "end": 12275,
                                  "loc": {
                                    "start": {
                                      "line": 326,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 326,
                                      "column": 51
                                    }
                                  },
                                  "name": "stateDiff"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12276,
                                  "end": 12279,
                                  "loc": {
                                    "start": {
                                      "line": 326,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 326,
                                      "column": 55
                                    }
                                  },
                                  "name": "get"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 12280,
                                  "end": 12290,
                                  "loc": {
                                    "start": {
                                      "line": 326,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 326,
                                      "column": 66
                                    }
                                  },
                                  "value": "endPoint",
                                  "rawValue": "endPoint",
                                  "raw": "'endPoint'"
                                }
                              ]
                            }
                          ]
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 12305,
              "end": 12616,
              "loc": {
                "start": {
                  "line": 329,
                  "column": 4
                },
                "end": {
                  "line": 336,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 12305,
                "end": 12317,
                "loc": {
                  "start": {
                    "line": 329,
                    "column": 4
                  },
                  "end": {
                    "line": 329,
                    "column": 16
                  }
                },
                "name": "addStateDiff"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 12317,
                "end": 12616,
                "loc": {
                  "start": {
                    "line": 329,
                    "column": 16
                  },
                  "end": {
                    "line": 336,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 12318,
                    "end": 12327,
                    "loc": {
                      "start": {
                        "line": 329,
                        "column": 17
                      },
                      "end": {
                        "line": 329,
                        "column": 26
                      }
                    },
                    "name": "stateDiff"
                  },
                  {
                    "type": "Identifier",
                    "start": 12329,
                    "end": 12334,
                    "loc": {
                      "start": {
                        "line": 329,
                        "column": 28
                      },
                      "end": {
                        "line": 329,
                        "column": 33
                      }
                    },
                    "name": "alpha"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 12336,
                  "end": 12616,
                  "loc": {
                    "start": {
                      "line": 329,
                      "column": 35
                    },
                    "end": {
                      "line": 336,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 12346,
                      "end": 12377,
                      "loc": {
                        "start": {
                          "line": 330,
                          "column": 8
                        },
                        "end": {
                          "line": 330,
                          "column": 39
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 12350,
                        "end": 12368,
                        "loc": {
                          "start": {
                            "line": 330,
                            "column": 12
                          },
                          "end": {
                            "line": 330,
                            "column": 30
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 12350,
                          "end": 12359,
                          "loc": {
                            "start": {
                              "line": 330,
                              "column": 12
                            },
                            "end": {
                              "line": 330,
                              "column": 21
                            }
                          },
                          "name": "stateDiff"
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 12364,
                          "end": 12368,
                          "loc": {
                            "start": {
                              "line": 330,
                              "column": 26
                            },
                            "end": {
                              "line": 330,
                              "column": 30
                            }
                          },
                          "value": null,
                          "rawValue": null,
                          "raw": "null"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 12370,
                        "end": 12377,
                        "loc": {
                          "start": {
                            "line": 330,
                            "column": 32
                          },
                          "end": {
                            "line": 330,
                            "column": 39
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 12387,
                      "end": 12496,
                      "loc": {
                        "start": {
                          "line": 332,
                          "column": 8
                        },
                        "end": {
                          "line": 333,
                          "column": 76
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 12391,
                        "end": 12418,
                        "loc": {
                          "start": {
                            "line": 332,
                            "column": 12
                          },
                          "end": {
                            "line": 332,
                            "column": 39
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 12391,
                          "end": 12404,
                          "loc": {
                            "start": {
                              "line": 332,
                              "column": 12
                            },
                            "end": {
                              "line": 332,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12391,
                            "end": 12400,
                            "loc": {
                              "start": {
                                "line": 332,
                                "column": 12
                              },
                              "end": {
                                "line": 332,
                                "column": 21
                              }
                            },
                            "name": "stateDiff"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12401,
                            "end": 12404,
                            "loc": {
                              "start": {
                                "line": 332,
                                "column": 22
                              },
                              "end": {
                                "line": 332,
                                "column": 25
                              }
                            },
                            "name": "has"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 12405,
                            "end": 12417,
                            "loc": {
                              "start": {
                                "line": 332,
                                "column": 26
                              },
                              "end": {
                                "line": 332,
                                "column": 38
                              }
                            },
                            "value": "startPoint",
                            "rawValue": "startPoint",
                            "raw": "'startPoint'"
                          }
                        ]
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 12432,
                        "end": 12496,
                        "loc": {
                          "start": {
                            "line": 333,
                            "column": 12
                          },
                          "end": {
                            "line": 333,
                            "column": 76
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 12432,
                          "end": 12495,
                          "loc": {
                            "start": {
                              "line": 333,
                              "column": 12
                            },
                            "end": {
                              "line": 333,
                              "column": 75
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 12432,
                            "end": 12459,
                            "loc": {
                              "start": {
                                "line": 333,
                                "column": 12
                              },
                              "end": {
                                "line": 333,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 12432,
                              "end": 12446,
                              "loc": {
                                "start": {
                                  "line": 333,
                                  "column": 12
                                },
                                "end": {
                                  "line": 333,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 12432,
                                "end": 12443,
                                "loc": {
                                  "start": {
                                    "line": 333,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 333,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12432,
                                  "end": 12436,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12437,
                                  "end": 12443,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 23
                                    }
                                  },
                                  "name": "points"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Literal",
                                "start": 12444,
                                "end": 12445,
                                "loc": {
                                  "start": {
                                    "line": 333,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 333,
                                    "column": 25
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "computed": true
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12447,
                              "end": 12459,
                              "loc": {
                                "start": {
                                  "line": 333,
                                  "column": 27
                                },
                                "end": {
                                  "line": 333,
                                  "column": 39
                                }
                              },
                              "name": "addStateDiff"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 12460,
                              "end": 12487,
                              "loc": {
                                "start": {
                                  "line": 333,
                                  "column": 40
                                },
                                "end": {
                                  "line": 333,
                                  "column": 67
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 12460,
                                "end": 12473,
                                "loc": {
                                  "start": {
                                    "line": 333,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 333,
                                    "column": 53
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 12460,
                                  "end": 12469,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 49
                                    }
                                  },
                                  "name": "stateDiff"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12470,
                                  "end": 12473,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 53
                                    }
                                  },
                                  "name": "get"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 12474,
                                  "end": 12486,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 66
                                    }
                                  },
                                  "value": "startPoint",
                                  "rawValue": "startPoint",
                                  "raw": "'startPoint'"
                                }
                              ]
                            },
                            {
                              "type": "Identifier",
                              "start": 12489,
                              "end": 12494,
                              "loc": {
                                "start": {
                                  "line": 333,
                                  "column": 69
                                },
                                "end": {
                                  "line": 333,
                                  "column": 74
                                }
                              },
                              "name": "alpha"
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 12505,
                      "end": 12610,
                      "loc": {
                        "start": {
                          "line": 334,
                          "column": 8
                        },
                        "end": {
                          "line": 335,
                          "column": 74
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 12509,
                        "end": 12534,
                        "loc": {
                          "start": {
                            "line": 334,
                            "column": 12
                          },
                          "end": {
                            "line": 334,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 12509,
                          "end": 12522,
                          "loc": {
                            "start": {
                              "line": 334,
                              "column": 12
                            },
                            "end": {
                              "line": 334,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12509,
                            "end": 12518,
                            "loc": {
                              "start": {
                                "line": 334,
                                "column": 12
                              },
                              "end": {
                                "line": 334,
                                "column": 21
                              }
                            },
                            "name": "stateDiff"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12519,
                            "end": 12522,
                            "loc": {
                              "start": {
                                "line": 334,
                                "column": 22
                              },
                              "end": {
                                "line": 334,
                                "column": 25
                              }
                            },
                            "name": "has"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 12523,
                            "end": 12533,
                            "loc": {
                              "start": {
                                "line": 334,
                                "column": 26
                              },
                              "end": {
                                "line": 334,
                                "column": 36
                              }
                            },
                            "value": "endPoint",
                            "rawValue": "endPoint",
                            "raw": "'endPoint'"
                          }
                        ]
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 12548,
                        "end": 12610,
                        "loc": {
                          "start": {
                            "line": 335,
                            "column": 12
                          },
                          "end": {
                            "line": 335,
                            "column": 74
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 12548,
                          "end": 12609,
                          "loc": {
                            "start": {
                              "line": 335,
                              "column": 12
                            },
                            "end": {
                              "line": 335,
                              "column": 73
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 12548,
                            "end": 12575,
                            "loc": {
                              "start": {
                                "line": 335,
                                "column": 12
                              },
                              "end": {
                                "line": 335,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 12548,
                              "end": 12562,
                              "loc": {
                                "start": {
                                  "line": 335,
                                  "column": 12
                                },
                                "end": {
                                  "line": 335,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 12548,
                                "end": 12559,
                                "loc": {
                                  "start": {
                                    "line": 335,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 335,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12548,
                                  "end": 12552,
                                  "loc": {
                                    "start": {
                                      "line": 335,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 335,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12553,
                                  "end": 12559,
                                  "loc": {
                                    "start": {
                                      "line": 335,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 335,
                                      "column": 23
                                    }
                                  },
                                  "name": "points"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Literal",
                                "start": 12560,
                                "end": 12561,
                                "loc": {
                                  "start": {
                                    "line": 335,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 335,
                                    "column": 25
                                  }
                                },
                                "value": 1,
                                "rawValue": 1,
                                "raw": "1"
                              },
                              "computed": true
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12563,
                              "end": 12575,
                              "loc": {
                                "start": {
                                  "line": 335,
                                  "column": 27
                                },
                                "end": {
                                  "line": 335,
                                  "column": 39
                                }
                              },
                              "name": "addStateDiff"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 12576,
                              "end": 12601,
                              "loc": {
                                "start": {
                                  "line": 335,
                                  "column": 40
                                },
                                "end": {
                                  "line": 335,
                                  "column": 65
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 12576,
                                "end": 12589,
                                "loc": {
                                  "start": {
                                    "line": 335,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 335,
                                    "column": 53
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 12576,
                                  "end": 12585,
                                  "loc": {
                                    "start": {
                                      "line": 335,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 335,
                                      "column": 49
                                    }
                                  },
                                  "name": "stateDiff"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12586,
                                  "end": 12589,
                                  "loc": {
                                    "start": {
                                      "line": 335,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 335,
                                      "column": 53
                                    }
                                  },
                                  "name": "get"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 12590,
                                  "end": 12600,
                                  "loc": {
                                    "start": {
                                      "line": 335,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 335,
                                      "column": 64
                                    }
                                  },
                                  "value": "endPoint",
                                  "rawValue": "endPoint",
                                  "raw": "'endPoint'"
                                }
                              ]
                            },
                            {
                              "type": "Identifier",
                              "start": 12603,
                              "end": 12608,
                              "loc": {
                                "start": {
                                  "line": 335,
                                  "column": 67
                                },
                                "end": {
                                  "line": 335,
                                  "column": 72
                                }
                              },
                              "name": "alpha"
                            }
                          ]
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 12622,
              "end": 12766,
              "loc": {
                "start": {
                  "line": 338,
                  "column": 4
                },
                "end": {
                  "line": 340,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 12622,
                "end": 12640,
                "loc": {
                  "start": {
                    "line": 338,
                    "column": 4
                  },
                  "end": {
                    "line": 338,
                    "column": 22
                  }
                },
                "name": "prepareAddOnServer"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 12640,
                "end": 12766,
                "loc": {
                  "start": {
                    "line": 338,
                    "column": 22
                  },
                  "end": {
                    "line": 340,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 12641,
                    "end": 12647,
                    "loc": {
                      "start": {
                        "line": 338,
                        "column": 23
                      },
                      "end": {
                        "line": 338,
                        "column": 29
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 12649,
                  "end": 12766,
                  "loc": {
                    "start": {
                      "line": 338,
                      "column": 31
                    },
                    "end": {
                      "line": 340,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 12659,
                      "end": 12760,
                      "loc": {
                        "start": {
                          "line": 339,
                          "column": 8
                        },
                        "end": {
                          "line": 339,
                          "column": 109
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 12666,
                        "end": 12759,
                        "loc": {
                          "start": {
                            "line": 339,
                            "column": 15
                          },
                          "end": {
                            "line": 339,
                            "column": 108
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 12666,
                          "end": 12753,
                          "loc": {
                            "start": {
                              "line": 339,
                              "column": 15
                            },
                            "end": {
                              "line": 339,
                              "column": 102
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 12666,
                            "end": 12739,
                            "loc": {
                              "start": {
                                "line": 339,
                                "column": 15
                              },
                              "end": {
                                "line": 339,
                                "column": 88
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 12666,
                              "end": 12681,
                              "loc": {
                                "start": {
                                  "line": 339,
                                  "column": 15
                                },
                                "end": {
                                  "line": 339,
                                  "column": 30
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 12666,
                                "end": 12673,
                                "loc": {
                                  "start": {
                                    "line": 339,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 339,
                                    "column": 22
                                  }
                                },
                                "name": "Interop"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12674,
                                "end": 12681,
                                "loc": {
                                  "start": {
                                    "line": 339,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 339,
                                    "column": 30
                                  }
                                },
                                "name": "AddLine"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 12682,
                                "end": 12688,
                                "loc": {
                                  "start": {
                                    "line": 339,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 339,
                                    "column": 37
                                  }
                                },
                                "name": "sketch"
                              },
                              {
                                "type": "MemberExpression",
                                "start": 12690,
                                "end": 12713,
                                "loc": {
                                  "start": {
                                    "line": 339,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 339,
                                    "column": 62
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 12690,
                                  "end": 12704,
                                  "loc": {
                                    "start": {
                                      "line": 339,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 339,
                                      "column": 53
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 12690,
                                    "end": 12701,
                                    "loc": {
                                      "start": {
                                        "line": 339,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 339,
                                        "column": 50
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 12690,
                                      "end": 12694,
                                      "loc": {
                                        "start": {
                                          "line": 339,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 339,
                                          "column": 43
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 12695,
                                      "end": 12701,
                                      "loc": {
                                        "start": {
                                          "line": 339,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 339,
                                          "column": 50
                                        }
                                      },
                                      "name": "points"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 12702,
                                    "end": 12703,
                                    "loc": {
                                      "start": {
                                        "line": 339,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 339,
                                        "column": 52
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12705,
                                  "end": 12713,
                                  "loc": {
                                    "start": {
                                      "line": 339,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 339,
                                      "column": 62
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 12715,
                                "end": 12738,
                                "loc": {
                                  "start": {
                                    "line": 339,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 339,
                                    "column": 87
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 12715,
                                  "end": 12729,
                                  "loc": {
                                    "start": {
                                      "line": 339,
                                      "column": 64
                                    },
                                    "end": {
                                      "line": 339,
                                      "column": 78
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 12715,
                                    "end": 12726,
                                    "loc": {
                                      "start": {
                                        "line": 339,
                                        "column": 64
                                      },
                                      "end": {
                                        "line": 339,
                                        "column": 75
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 12715,
                                      "end": 12719,
                                      "loc": {
                                        "start": {
                                          "line": 339,
                                          "column": 64
                                        },
                                        "end": {
                                          "line": 339,
                                          "column": 68
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 12720,
                                      "end": 12726,
                                      "loc": {
                                        "start": {
                                          "line": 339,
                                          "column": 69
                                        },
                                        "end": {
                                          "line": 339,
                                          "column": 75
                                        }
                                      },
                                      "name": "points"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 12727,
                                    "end": 12728,
                                    "loc": {
                                      "start": {
                                        "line": 339,
                                        "column": 76
                                      },
                                      "end": {
                                        "line": 339,
                                        "column": 77
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12730,
                                  "end": 12738,
                                  "loc": {
                                    "start": {
                                      "line": 339,
                                      "column": 79
                                    },
                                    "end": {
                                      "line": 339,
                                      "column": 87
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12740,
                            "end": 12753,
                            "loc": {
                              "start": {
                                "line": 339,
                                "column": 89
                              },
                              "end": {
                                "line": 339,
                                "column": 102
                              }
                            },
                            "name": "parseToObject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 12754,
                            "end": 12758,
                            "loc": {
                              "start": {
                                "line": 339,
                                "column": 103
                              },
                              "end": {
                                "line": 339,
                                "column": 107
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 12772,
              "end": 12986,
              "loc": {
                "start": {
                  "line": 342,
                  "column": 4
                },
                "end": {
                  "line": 349,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 12772,
                "end": 12793,
                "loc": {
                  "start": {
                    "line": 342,
                    "column": 4
                  },
                  "end": {
                    "line": 342,
                    "column": 25
                  }
                },
                "name": "prepareUpdateToServer"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 12793,
                "end": 12986,
                "loc": {
                  "start": {
                    "line": 342,
                    "column": 25
                  },
                  "end": {
                    "line": 349,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 12794,
                    "end": 12800,
                    "loc": {
                      "start": {
                        "line": 342,
                        "column": 26
                      },
                      "end": {
                        "line": 342,
                        "column": 32
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 12802,
                  "end": 12986,
                  "loc": {
                    "start": {
                      "line": 342,
                      "column": 34
                    },
                    "end": {
                      "line": 349,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 12812,
                      "end": 12980,
                      "loc": {
                        "start": {
                          "line": 343,
                          "column": 8
                        },
                        "end": {
                          "line": 348,
                          "column": 30
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 12819,
                        "end": 12979,
                        "loc": {
                          "start": {
                            "line": 343,
                            "column": 15
                          },
                          "end": {
                            "line": 348,
                            "column": 29
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 12819,
                          "end": 12973,
                          "loc": {
                            "start": {
                              "line": 343,
                              "column": 15
                            },
                            "end": {
                              "line": 348,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 12819,
                            "end": 12959,
                            "loc": {
                              "start": {
                                "line": 343,
                                "column": 15
                              },
                              "end": {
                                "line": 348,
                                "column": 9
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 12819,
                              "end": 12837,
                              "loc": {
                                "start": {
                                  "line": 343,
                                  "column": 15
                                },
                                "end": {
                                  "line": 343,
                                  "column": 33
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 12819,
                                "end": 12826,
                                "loc": {
                                  "start": {
                                    "line": 343,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 343,
                                    "column": 22
                                  }
                                },
                                "name": "Interop"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12827,
                                "end": 12837,
                                "loc": {
                                  "start": {
                                    "line": 343,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 343,
                                    "column": 33
                                  }
                                },
                                "name": "UpdateLine"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 12851,
                                "end": 12857,
                                "loc": {
                                  "start": {
                                    "line": 344,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 344,
                                    "column": 18
                                  }
                                },
                                "name": "sketch"
                              },
                              {
                                "type": "ThisExpression",
                                "start": 12871,
                                "end": 12875,
                                "loc": {
                                  "start": {
                                    "line": 345,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 345,
                                    "column": 16
                                  }
                                }
                              },
                              {
                                "type": "MemberExpression",
                                "start": 12889,
                                "end": 12912,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 35
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 12889,
                                  "end": 12903,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 26
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 12889,
                                    "end": 12900,
                                    "loc": {
                                      "start": {
                                        "line": 346,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 346,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 12889,
                                      "end": 12893,
                                      "loc": {
                                        "start": {
                                          "line": 346,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 346,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 12894,
                                      "end": 12900,
                                      "loc": {
                                        "start": {
                                          "line": 346,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 346,
                                          "column": 23
                                        }
                                      },
                                      "name": "points"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 12901,
                                    "end": 12902,
                                    "loc": {
                                      "start": {
                                        "line": 346,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 346,
                                        "column": 25
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12904,
                                  "end": 12912,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 35
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 12926,
                                "end": 12949,
                                "loc": {
                                  "start": {
                                    "line": 347,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 347,
                                    "column": 35
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 12926,
                                  "end": 12940,
                                  "loc": {
                                    "start": {
                                      "line": 347,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 347,
                                      "column": 26
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 12926,
                                    "end": 12937,
                                    "loc": {
                                      "start": {
                                        "line": 347,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 347,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 12926,
                                      "end": 12930,
                                      "loc": {
                                        "start": {
                                          "line": 347,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 347,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 12931,
                                      "end": 12937,
                                      "loc": {
                                        "start": {
                                          "line": 347,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 347,
                                          "column": 23
                                        }
                                      },
                                      "name": "points"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 12938,
                                    "end": 12939,
                                    "loc": {
                                      "start": {
                                        "line": 347,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 347,
                                        "column": 25
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12941,
                                  "end": 12949,
                                  "loc": {
                                    "start": {
                                      "line": 347,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 347,
                                      "column": 35
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12960,
                            "end": 12973,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 10
                              },
                              "end": {
                                "line": 348,
                                "column": 23
                              }
                            },
                            "name": "parseToObject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 12974,
                            "end": 12978,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 24
                              },
                              "end": {
                                "line": 348,
                                "column": 28
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 12992,
              "end": 13078,
              "loc": {
                "start": {
                  "line": 351,
                  "column": 4
                },
                "end": {
                  "line": 353,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 12992,
                "end": 13013,
                "loc": {
                  "start": {
                    "line": 351,
                    "column": 4
                  },
                  "end": {
                    "line": 351,
                    "column": 25
                  }
                },
                "name": "prepareRemoveOnServer"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 13013,
                "end": 13078,
                "loc": {
                  "start": {
                    "line": 351,
                    "column": 25
                  },
                  "end": {
                    "line": 353,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 13014,
                    "end": 13020,
                    "loc": {
                      "start": {
                        "line": 351,
                        "column": 26
                      },
                      "end": {
                        "line": 351,
                        "column": 32
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 13022,
                  "end": 13078,
                  "loc": {
                    "start": {
                      "line": 351,
                      "column": 34
                    },
                    "end": {
                      "line": 353,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 13032,
                      "end": 13072,
                      "loc": {
                        "start": {
                          "line": 352,
                          "column": 8
                        },
                        "end": {
                          "line": 352,
                          "column": 48
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 13039,
                        "end": 13071,
                        "loc": {
                          "start": {
                            "line": 352,
                            "column": 15
                          },
                          "end": {
                            "line": 352,
                            "column": 47
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 13039,
                          "end": 13057,
                          "loc": {
                            "start": {
                              "line": 352,
                              "column": 15
                            },
                            "end": {
                              "line": 352,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13039,
                            "end": 13046,
                            "loc": {
                              "start": {
                                "line": 352,
                                "column": 15
                              },
                              "end": {
                                "line": 352,
                                "column": 22
                              }
                            },
                            "name": "Interop"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13047,
                            "end": 13057,
                            "loc": {
                              "start": {
                                "line": 352,
                                "column": 23
                              },
                              "end": {
                                "line": 352,
                                "column": 33
                              }
                            },
                            "name": "RemoveLine"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 13058,
                            "end": 13064,
                            "loc": {
                              "start": {
                                "line": 352,
                                "column": 34
                              },
                              "end": {
                                "line": 352,
                                "column": 40
                              }
                            },
                            "name": "sketch"
                          },
                          {
                            "type": "ThisExpression",
                            "start": 13066,
                            "end": 13070,
                            "loc": {
                              "start": {
                                "line": 352,
                                "column": 42
                              },
                              "end": {
                                "line": 352,
                                "column": 46
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": "================================ Sketch.Line =========================================",
            "start": 6563,
            "end": 6651,
            "loc": {
              "start": {
                "line": 186,
                "column": 0
              },
              "end": {
                "line": 186,
                "column": 88
              }
            },
            "range": [
              6563,
              6651
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": "================================ Sketch.Line =========================================",
          "start": 6563,
          "end": 6651,
          "loc": {
            "start": {
              "line": 186,
              "column": 0
            },
            "end": {
              "line": 186,
              "column": 88
            }
          },
          "range": [
            6563,
            6651
          ]
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "start": 13081,
      "end": 13127,
      "loc": {
        "start": {
          "line": 355,
          "column": 0
        },
        "end": {
          "line": 355,
          "column": 46
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 13081,
        "end": 13126,
        "loc": {
          "start": {
            "line": 355,
            "column": 0
          },
          "end": {
            "line": 355,
            "column": 45
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 13081,
          "end": 13119,
          "loc": {
            "start": {
              "line": 355,
              "column": 0
            },
            "end": {
              "line": 355,
              "column": 38
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 13081,
            "end": 13108,
            "loc": {
              "start": {
                "line": 355,
                "column": 0
              },
              "end": {
                "line": 355,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 13081,
              "end": 13095,
              "loc": {
                "start": {
                  "line": 355,
                  "column": 0
                },
                "end": {
                  "line": 355,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 13096,
              "end": 13108,
              "loc": {
                "start": {
                  "line": 355,
                  "column": 15
                },
                "end": {
                  "line": 355,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 13109,
            "end": 13118,
            "loc": {
              "start": {
                "line": 355,
                "column": 28
              },
              "end": {
                "line": 355,
                "column": 37
              }
            },
            "value": "CC_Line",
            "rawValue": "CC_Line",
            "raw": "'CC_Line'"
          },
          "computed": true
        },
        "right": {
          "type": "Identifier",
          "start": 13122,
          "end": 13126,
          "loc": {
            "start": {
              "line": 355,
              "column": 41
            },
            "end": {
              "line": 355,
              "column": 45
            }
          },
          "name": "Line"
        }
      },
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": "================================ Sketch.Arc =========================================",
          "start": 13129,
          "end": 13216,
          "loc": {
            "start": {
              "line": 357,
              "column": 0
            },
            "end": {
              "line": 357,
              "column": 87
            }
          },
          "range": [
            13129,
            13216
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 13217,
      "end": 24015,
      "loc": {
        "start": {
          "line": 358,
          "column": 0
        },
        "end": {
          "line": 620,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 13224,
        "end": 24015,
        "loc": {
          "start": {
            "line": 358,
            "column": 7
          },
          "end": {
            "line": 620,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 13230,
          "end": 13233,
          "loc": {
            "start": {
              "line": 358,
              "column": 13
            },
            "end": {
              "line": 358,
              "column": 16
            }
          },
          "name": "Arc",
          "leadingComments": null
        },
        "superClass": {
          "type": "Identifier",
          "start": 13242,
          "end": 13257,
          "loc": {
            "start": {
              "line": 358,
              "column": 25
            },
            "end": {
              "line": 358,
              "column": 40
            }
          },
          "name": "GeometricObject"
        },
        "body": {
          "type": "ClassBody",
          "start": 13258,
          "end": 24015,
          "loc": {
            "start": {
              "line": 358,
              "column": 41
            },
            "end": {
              "line": 620,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 13264,
              "end": 14887,
              "loc": {
                "start": {
                  "line": 359,
                  "column": 4
                },
                "end": {
                  "line": 395,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 13264,
                "end": 13275,
                "loc": {
                  "start": {
                    "line": 359,
                    "column": 4
                  },
                  "end": {
                    "line": 359,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 13275,
                "end": 14887,
                "loc": {
                  "start": {
                    "line": 359,
                    "column": 15
                  },
                  "end": {
                    "line": 395,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 13276,
                    "end": 13285,
                    "loc": {
                      "start": {
                        "line": 359,
                        "column": 16
                      },
                      "end": {
                        "line": 359,
                        "column": 25
                      }
                    },
                    "name": "pointSize"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 13287,
                  "end": 14887,
                  "loc": {
                    "start": {
                      "line": 359,
                      "column": 27
                    },
                    "end": {
                      "line": 395,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 13297,
                      "end": 13305,
                      "loc": {
                        "start": {
                          "line": 360,
                          "column": 8
                        },
                        "end": {
                          "line": 360,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 13297,
                        "end": 13304,
                        "loc": {
                          "start": {
                            "line": 360,
                            "column": 8
                          },
                          "end": {
                            "line": 360,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 13297,
                          "end": 13302,
                          "loc": {
                            "start": {
                              "line": 360,
                              "column": 8
                            },
                            "end": {
                              "line": 360,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13314,
                      "end": 13332,
                      "loc": {
                        "start": {
                          "line": 361,
                          "column": 8
                        },
                        "end": {
                          "line": 361,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13314,
                        "end": 13331,
                        "loc": {
                          "start": {
                            "line": 361,
                            "column": 8
                          },
                          "end": {
                            "line": 361,
                            "column": 25
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13314,
                          "end": 13323,
                          "loc": {
                            "start": {
                              "line": 361,
                              "column": 8
                            },
                            "end": {
                              "line": 361,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13314,
                            "end": 13318,
                            "loc": {
                              "start": {
                                "line": 361,
                                "column": 8
                              },
                              "end": {
                                "line": 361,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13319,
                            "end": 13323,
                            "loc": {
                              "start": {
                                "line": 361,
                                "column": 13
                              },
                              "end": {
                                "line": 361,
                                "column": 17
                              }
                            },
                            "name": "type"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 13326,
                          "end": 13331,
                          "loc": {
                            "start": {
                              "line": 361,
                              "column": 20
                            },
                            "end": {
                              "line": 361,
                              "column": 25
                            }
                          },
                          "value": "Arc",
                          "rawValue": "Arc",
                          "raw": "'Arc'"
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "create custom geometry equivalent to RingGeometry",
                          "start": 13342,
                          "end": 13393,
                          "loc": {
                            "start": {
                              "line": 363,
                              "column": 8
                            },
                            "end": {
                              "line": 363,
                              "column": 59
                            }
                          },
                          "range": [
                            13342,
                            13393
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 13402,
                      "end": 13438,
                      "loc": {
                        "start": {
                          "line": 364,
                          "column": 8
                        },
                        "end": {
                          "line": 364,
                          "column": 44
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 13406,
                          "end": 13437,
                          "loc": {
                            "start": {
                              "line": 364,
                              "column": 12
                            },
                            "end": {
                              "line": 364,
                              "column": 43
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 13406,
                            "end": 13414,
                            "loc": {
                              "start": {
                                "line": 364,
                                "column": 12
                              },
                              "end": {
                                "line": 364,
                                "column": 20
                              }
                            },
                            "name": "geometry",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 13417,
                            "end": 13437,
                            "loc": {
                              "start": {
                                "line": 364,
                                "column": 23
                              },
                              "end": {
                                "line": 364,
                                "column": 43
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 13421,
                              "end": 13435,
                              "loc": {
                                "start": {
                                  "line": 364,
                                  "column": 27
                                },
                                "end": {
                                  "line": 364,
                                  "column": 41
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 13421,
                                "end": 13426,
                                "loc": {
                                  "start": {
                                    "line": 364,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 364,
                                    "column": 32
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 13427,
                                "end": 13435,
                                "loc": {
                                  "start": {
                                    "line": 364,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 364,
                                    "column": 41
                                  }
                                },
                                "name": "Geometry"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "create custom geometry equivalent to RingGeometry",
                          "start": 13342,
                          "end": 13393,
                          "loc": {
                            "start": {
                              "line": 363,
                              "column": 8
                            },
                            "end": {
                              "line": 363,
                              "column": 59
                            }
                          },
                          "range": [
                            13342,
                            13393
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ForStatement",
                      "start": 13447,
                      "end": 13621,
                      "loc": {
                        "start": {
                          "line": 365,
                          "column": 8
                        },
                        "end": {
                          "line": 366,
                          "column": 91
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 13452,
                        "end": 13461,
                        "loc": {
                          "start": {
                            "line": 365,
                            "column": 13
                          },
                          "end": {
                            "line": 365,
                            "column": 22
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 13456,
                            "end": 13461,
                            "loc": {
                              "start": {
                                "line": 365,
                                "column": 17
                              },
                              "end": {
                                "line": 365,
                                "column": 22
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 13456,
                              "end": 13457,
                              "loc": {
                                "start": {
                                  "line": 365,
                                  "column": 17
                                },
                                "end": {
                                  "line": 365,
                                  "column": 18
                                }
                              },
                              "name": "i"
                            },
                            "init": {
                              "type": "Literal",
                              "start": 13460,
                              "end": 13461,
                              "loc": {
                                "start": {
                                  "line": 365,
                                  "column": 21
                                },
                                "end": {
                                  "line": 365,
                                  "column": 22
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          }
                        ],
                        "kind": "var"
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 13463,
                        "end": 13487,
                        "loc": {
                          "start": {
                            "line": 365,
                            "column": 24
                          },
                          "end": {
                            "line": 365,
                            "column": 48
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 13463,
                          "end": 13464,
                          "loc": {
                            "start": {
                              "line": 365,
                              "column": 24
                            },
                            "end": {
                              "line": 365,
                              "column": 25
                            }
                          },
                          "name": "i"
                        },
                        "operator": "<=",
                        "right": {
                          "type": "MemberExpression",
                          "start": 13468,
                          "end": 13487,
                          "loc": {
                            "start": {
                              "line": 365,
                              "column": 29
                            },
                            "end": {
                              "line": 365,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13468,
                            "end": 13472,
                            "loc": {
                              "start": {
                                "line": 365,
                                "column": 29
                              },
                              "end": {
                                "line": 365,
                                "column": 33
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13473,
                            "end": 13487,
                            "loc": {
                              "start": {
                                "line": 365,
                                "column": 34
                              },
                              "end": {
                                "line": 365,
                                "column": 48
                              }
                            },
                            "name": "meshResolution"
                          },
                          "computed": false
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 13489,
                        "end": 13492,
                        "loc": {
                          "start": {
                            "line": 365,
                            "column": 50
                          },
                          "end": {
                            "line": 365,
                            "column": 53
                          }
                        },
                        "operator": "++",
                        "prefix": false,
                        "argument": {
                          "type": "Identifier",
                          "start": 13489,
                          "end": 13490,
                          "loc": {
                            "start": {
                              "line": 365,
                              "column": 50
                            },
                            "end": {
                              "line": 365,
                              "column": 51
                            }
                          },
                          "name": "i"
                        }
                      },
                      "body": {
                        "type": "ExpressionStatement",
                        "start": 13542,
                        "end": 13621,
                        "loc": {
                          "start": {
                            "line": 366,
                            "column": 12
                          },
                          "end": {
                            "line": 366,
                            "column": 91
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 13542,
                          "end": 13620,
                          "loc": {
                            "start": {
                              "line": 366,
                              "column": 12
                            },
                            "end": {
                              "line": 366,
                              "column": 90
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 13542,
                            "end": 13564,
                            "loc": {
                              "start": {
                                "line": 366,
                                "column": 12
                              },
                              "end": {
                                "line": 366,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 13542,
                              "end": 13559,
                              "loc": {
                                "start": {
                                  "line": 366,
                                  "column": 12
                                },
                                "end": {
                                  "line": 366,
                                  "column": 29
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 13542,
                                "end": 13550,
                                "loc": {
                                  "start": {
                                    "line": 366,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 366,
                                    "column": 20
                                  }
                                },
                                "name": "geometry",
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 13551,
                                "end": 13559,
                                "loc": {
                                  "start": {
                                    "line": 366,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 366,
                                    "column": 29
                                  }
                                },
                                "name": "vertices"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13560,
                              "end": 13564,
                              "loc": {
                                "start": {
                                  "line": 366,
                                  "column": 30
                                },
                                "end": {
                                  "line": 366,
                                  "column": 34
                                }
                              },
                              "name": "push"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "arguments": [
                            {
                              "type": "NewExpression",
                              "start": 13565,
                              "end": 13591,
                              "loc": {
                                "start": {
                                  "line": 366,
                                  "column": 35
                                },
                                "end": {
                                  "line": 366,
                                  "column": 61
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 13569,
                                "end": 13582,
                                "loc": {
                                  "start": {
                                    "line": 366,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 366,
                                    "column": 52
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 13569,
                                  "end": 13574,
                                  "loc": {
                                    "start": {
                                      "line": 366,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 366,
                                      "column": 44
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13575,
                                  "end": 13582,
                                  "loc": {
                                    "start": {
                                      "line": 366,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 366,
                                      "column": 52
                                    }
                                  },
                                  "name": "Vector3"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 13583,
                                  "end": 13584,
                                  "loc": {
                                    "start": {
                                      "line": 366,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 366,
                                      "column": 54
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                {
                                  "type": "Literal",
                                  "start": 13586,
                                  "end": 13587,
                                  "loc": {
                                    "start": {
                                      "line": 366,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 366,
                                      "column": 57
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                {
                                  "type": "Literal",
                                  "start": 13589,
                                  "end": 13590,
                                  "loc": {
                                    "start": {
                                      "line": 366,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 366,
                                      "column": 60
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            },
                            {
                              "type": "NewExpression",
                              "start": 13593,
                              "end": 13619,
                              "loc": {
                                "start": {
                                  "line": 366,
                                  "column": 63
                                },
                                "end": {
                                  "line": 366,
                                  "column": 89
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 13597,
                                "end": 13610,
                                "loc": {
                                  "start": {
                                    "line": 366,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 366,
                                    "column": 80
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 13597,
                                  "end": 13602,
                                  "loc": {
                                    "start": {
                                      "line": 366,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 366,
                                      "column": 72
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13603,
                                  "end": 13610,
                                  "loc": {
                                    "start": {
                                      "line": 366,
                                      "column": 73
                                    },
                                    "end": {
                                      "line": 366,
                                      "column": 80
                                    }
                                  },
                                  "name": "Vector3"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 13611,
                                  "end": 13612,
                                  "loc": {
                                    "start": {
                                      "line": 366,
                                      "column": 81
                                    },
                                    "end": {
                                      "line": 366,
                                      "column": 82
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                {
                                  "type": "Literal",
                                  "start": 13614,
                                  "end": 13615,
                                  "loc": {
                                    "start": {
                                      "line": 366,
                                      "column": 84
                                    },
                                    "end": {
                                      "line": 366,
                                      "column": 85
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                {
                                  "type": "Literal",
                                  "start": 13617,
                                  "end": 13618,
                                  "loc": {
                                    "start": {
                                      "line": 366,
                                      "column": 87
                                    },
                                    "end": {
                                      "line": 366,
                                      "column": 88
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          ],
                          "leadingComments": null
                        },
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": "to be set in updateVisualization",
                            "start": 13495,
                            "end": 13529,
                            "loc": {
                              "start": {
                                "line": 365,
                                "column": 56
                              },
                              "end": {
                                "line": 365,
                                "column": 90
                              }
                            },
                            "range": [
                              13495,
                              13529
                            ]
                          }
                        ]
                      }
                    },
                    {
                      "type": "ForStatement",
                      "start": 13630,
                      "end": 13894,
                      "loc": {
                        "start": {
                          "line": 367,
                          "column": 8
                        },
                        "end": {
                          "line": 372,
                          "column": 9
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 13635,
                        "end": 13644,
                        "loc": {
                          "start": {
                            "line": 367,
                            "column": 13
                          },
                          "end": {
                            "line": 367,
                            "column": 22
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 13639,
                            "end": 13644,
                            "loc": {
                              "start": {
                                "line": 367,
                                "column": 17
                              },
                              "end": {
                                "line": 367,
                                "column": 22
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 13639,
                              "end": 13640,
                              "loc": {
                                "start": {
                                  "line": 367,
                                  "column": 17
                                },
                                "end": {
                                  "line": 367,
                                  "column": 18
                                }
                              },
                              "name": "i"
                            },
                            "init": {
                              "type": "Literal",
                              "start": 13643,
                              "end": 13644,
                              "loc": {
                                "start": {
                                  "line": 367,
                                  "column": 21
                                },
                                "end": {
                                  "line": 367,
                                  "column": 22
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          }
                        ],
                        "kind": "var"
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 13646,
                        "end": 13669,
                        "loc": {
                          "start": {
                            "line": 367,
                            "column": 24
                          },
                          "end": {
                            "line": 367,
                            "column": 47
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 13646,
                          "end": 13647,
                          "loc": {
                            "start": {
                              "line": 367,
                              "column": 24
                            },
                            "end": {
                              "line": 367,
                              "column": 25
                            }
                          },
                          "name": "i"
                        },
                        "operator": "<",
                        "right": {
                          "type": "MemberExpression",
                          "start": 13650,
                          "end": 13669,
                          "loc": {
                            "start": {
                              "line": 367,
                              "column": 28
                            },
                            "end": {
                              "line": 367,
                              "column": 47
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13650,
                            "end": 13654,
                            "loc": {
                              "start": {
                                "line": 367,
                                "column": 28
                              },
                              "end": {
                                "line": 367,
                                "column": 32
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13655,
                            "end": 13669,
                            "loc": {
                              "start": {
                                "line": 367,
                                "column": 33
                              },
                              "end": {
                                "line": 367,
                                "column": 47
                              }
                            },
                            "name": "meshResolution"
                          },
                          "computed": false
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 13671,
                        "end": 13674,
                        "loc": {
                          "start": {
                            "line": 367,
                            "column": 49
                          },
                          "end": {
                            "line": 367,
                            "column": 52
                          }
                        },
                        "operator": "++",
                        "prefix": false,
                        "argument": {
                          "type": "Identifier",
                          "start": 13671,
                          "end": 13672,
                          "loc": {
                            "start": {
                              "line": 367,
                              "column": 49
                            },
                            "end": {
                              "line": 367,
                              "column": 50
                            }
                          },
                          "name": "i"
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 13676,
                        "end": 13894,
                        "loc": {
                          "start": {
                            "line": 367,
                            "column": 54
                          },
                          "end": {
                            "line": 372,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 13690,
                            "end": 13884,
                            "loc": {
                              "start": {
                                "line": 368,
                                "column": 12
                              },
                              "end": {
                                "line": 371,
                                "column": 14
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 13690,
                              "end": 13883,
                              "loc": {
                                "start": {
                                  "line": 368,
                                  "column": 12
                                },
                                "end": {
                                  "line": 371,
                                  "column": 13
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 13690,
                                "end": 13709,
                                "loc": {
                                  "start": {
                                    "line": 368,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 368,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13690,
                                  "end": 13704,
                                  "loc": {
                                    "start": {
                                      "line": 368,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 368,
                                      "column": 26
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 13690,
                                    "end": 13698,
                                    "loc": {
                                      "start": {
                                        "line": 368,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 368,
                                        "column": 20
                                      }
                                    },
                                    "name": "geometry"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13699,
                                    "end": 13704,
                                    "loc": {
                                      "start": {
                                        "line": 368,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 368,
                                        "column": 26
                                      }
                                    },
                                    "name": "faces"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13705,
                                  "end": 13709,
                                  "loc": {
                                    "start": {
                                      "line": 368,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 368,
                                      "column": 31
                                    }
                                  },
                                  "name": "push"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "NewExpression",
                                  "start": 13727,
                                  "end": 13789,
                                  "loc": {
                                    "start": {
                                      "line": 369,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 369,
                                      "column": 78
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 13731,
                                    "end": 13742,
                                    "loc": {
                                      "start": {
                                        "line": 369,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 369,
                                        "column": 31
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 13731,
                                      "end": 13736,
                                      "loc": {
                                        "start": {
                                          "line": 369,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 369,
                                          "column": 25
                                        }
                                      },
                                      "name": "THREE"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 13737,
                                      "end": 13742,
                                      "loc": {
                                        "start": {
                                          "line": 369,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 369,
                                          "column": 31
                                        }
                                      },
                                      "name": "Face3"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "BinaryExpression",
                                      "start": 13743,
                                      "end": 13746,
                                      "loc": {
                                        "start": {
                                          "line": 369,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 369,
                                          "column": 35
                                        }
                                      },
                                      "left": {
                                        "type": "Literal",
                                        "start": 13743,
                                        "end": 13744,
                                        "loc": {
                                          "start": {
                                            "line": 369,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 369,
                                            "column": 33
                                          }
                                        },
                                        "value": 2,
                                        "rawValue": 2,
                                        "raw": "2"
                                      },
                                      "operator": "*",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 13745,
                                        "end": 13746,
                                        "loc": {
                                          "start": {
                                            "line": 369,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 369,
                                            "column": 35
                                          }
                                        },
                                        "name": "i"
                                      }
                                    },
                                    {
                                      "type": "BinaryExpression",
                                      "start": 13748,
                                      "end": 13753,
                                      "loc": {
                                        "start": {
                                          "line": 369,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 369,
                                          "column": 42
                                        }
                                      },
                                      "left": {
                                        "type": "BinaryExpression",
                                        "start": 13748,
                                        "end": 13751,
                                        "loc": {
                                          "start": {
                                            "line": 369,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 369,
                                            "column": 40
                                          }
                                        },
                                        "left": {
                                          "type": "Literal",
                                          "start": 13748,
                                          "end": 13749,
                                          "loc": {
                                            "start": {
                                              "line": 369,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 369,
                                              "column": 38
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        },
                                        "operator": "*",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 13750,
                                          "end": 13751,
                                          "loc": {
                                            "start": {
                                              "line": 369,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 369,
                                              "column": 40
                                            }
                                          },
                                          "name": "i"
                                        }
                                      },
                                      "operator": "+",
                                      "right": {
                                        "type": "Literal",
                                        "start": 13752,
                                        "end": 13753,
                                        "loc": {
                                          "start": {
                                            "line": 369,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 369,
                                            "column": 42
                                          }
                                        },
                                        "value": 2,
                                        "rawValue": 2,
                                        "raw": "2"
                                      }
                                    },
                                    {
                                      "type": "BinaryExpression",
                                      "start": 13755,
                                      "end": 13760,
                                      "loc": {
                                        "start": {
                                          "line": 369,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 369,
                                          "column": 49
                                        }
                                      },
                                      "left": {
                                        "type": "BinaryExpression",
                                        "start": 13755,
                                        "end": 13758,
                                        "loc": {
                                          "start": {
                                            "line": 369,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 369,
                                            "column": 47
                                          }
                                        },
                                        "left": {
                                          "type": "Literal",
                                          "start": 13755,
                                          "end": 13756,
                                          "loc": {
                                            "start": {
                                              "line": 369,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 369,
                                              "column": 45
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        },
                                        "operator": "*",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 13757,
                                          "end": 13758,
                                          "loc": {
                                            "start": {
                                              "line": 369,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 369,
                                              "column": 47
                                            }
                                          },
                                          "name": "i"
                                        }
                                      },
                                      "operator": "+",
                                      "right": {
                                        "type": "Literal",
                                        "start": 13759,
                                        "end": 13760,
                                        "loc": {
                                          "start": {
                                            "line": 369,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 369,
                                            "column": 49
                                          }
                                        },
                                        "value": 3,
                                        "rawValue": 3,
                                        "raw": "3"
                                      }
                                    },
                                    {
                                      "type": "NewExpression",
                                      "start": 13762,
                                      "end": 13788,
                                      "loc": {
                                        "start": {
                                          "line": 369,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 369,
                                          "column": 77
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 13766,
                                        "end": 13779,
                                        "loc": {
                                          "start": {
                                            "line": 369,
                                            "column": 55
                                          },
                                          "end": {
                                            "line": 369,
                                            "column": 68
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 13766,
                                          "end": 13771,
                                          "loc": {
                                            "start": {
                                              "line": 369,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 369,
                                              "column": 60
                                            }
                                          },
                                          "name": "THREE"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 13772,
                                          "end": 13779,
                                          "loc": {
                                            "start": {
                                              "line": 369,
                                              "column": 61
                                            },
                                            "end": {
                                              "line": 369,
                                              "column": 68
                                            }
                                          },
                                          "name": "Vector3"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Literal",
                                          "start": 13780,
                                          "end": 13781,
                                          "loc": {
                                            "start": {
                                              "line": 369,
                                              "column": 69
                                            },
                                            "end": {
                                              "line": 369,
                                              "column": 70
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 13783,
                                          "end": 13784,
                                          "loc": {
                                            "start": {
                                              "line": 369,
                                              "column": 72
                                            },
                                            "end": {
                                              "line": 369,
                                              "column": 73
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 13786,
                                          "end": 13787,
                                          "loc": {
                                            "start": {
                                              "line": 369,
                                              "column": 75
                                            },
                                            "end": {
                                              "line": 369,
                                              "column": 76
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        }
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "type": "NewExpression",
                                  "start": 13807,
                                  "end": 13869,
                                  "loc": {
                                    "start": {
                                      "line": 370,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 370,
                                      "column": 78
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 13811,
                                    "end": 13822,
                                    "loc": {
                                      "start": {
                                        "line": 370,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 370,
                                        "column": 31
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 13811,
                                      "end": 13816,
                                      "loc": {
                                        "start": {
                                          "line": 370,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 370,
                                          "column": 25
                                        }
                                      },
                                      "name": "THREE"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 13817,
                                      "end": 13822,
                                      "loc": {
                                        "start": {
                                          "line": 370,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 370,
                                          "column": 31
                                        }
                                      },
                                      "name": "Face3"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "BinaryExpression",
                                      "start": 13823,
                                      "end": 13828,
                                      "loc": {
                                        "start": {
                                          "line": 370,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 370,
                                          "column": 37
                                        }
                                      },
                                      "left": {
                                        "type": "BinaryExpression",
                                        "start": 13823,
                                        "end": 13826,
                                        "loc": {
                                          "start": {
                                            "line": 370,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 370,
                                            "column": 35
                                          }
                                        },
                                        "left": {
                                          "type": "Literal",
                                          "start": 13823,
                                          "end": 13824,
                                          "loc": {
                                            "start": {
                                              "line": 370,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 370,
                                              "column": 33
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        },
                                        "operator": "*",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 13825,
                                          "end": 13826,
                                          "loc": {
                                            "start": {
                                              "line": 370,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 370,
                                              "column": 35
                                            }
                                          },
                                          "name": "i"
                                        }
                                      },
                                      "operator": "+",
                                      "right": {
                                        "type": "Literal",
                                        "start": 13827,
                                        "end": 13828,
                                        "loc": {
                                          "start": {
                                            "line": 370,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 370,
                                            "column": 37
                                          }
                                        },
                                        "value": 3,
                                        "rawValue": 3,
                                        "raw": "3"
                                      }
                                    },
                                    {
                                      "type": "BinaryExpression",
                                      "start": 13830,
                                      "end": 13835,
                                      "loc": {
                                        "start": {
                                          "line": 370,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 370,
                                          "column": 44
                                        }
                                      },
                                      "left": {
                                        "type": "BinaryExpression",
                                        "start": 13830,
                                        "end": 13833,
                                        "loc": {
                                          "start": {
                                            "line": 370,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 370,
                                            "column": 42
                                          }
                                        },
                                        "left": {
                                          "type": "Literal",
                                          "start": 13830,
                                          "end": 13831,
                                          "loc": {
                                            "start": {
                                              "line": 370,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 370,
                                              "column": 40
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        },
                                        "operator": "*",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 13832,
                                          "end": 13833,
                                          "loc": {
                                            "start": {
                                              "line": 370,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 370,
                                              "column": 42
                                            }
                                          },
                                          "name": "i"
                                        }
                                      },
                                      "operator": "+",
                                      "right": {
                                        "type": "Literal",
                                        "start": 13834,
                                        "end": 13835,
                                        "loc": {
                                          "start": {
                                            "line": 370,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 370,
                                            "column": 44
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      }
                                    },
                                    {
                                      "type": "BinaryExpression",
                                      "start": 13837,
                                      "end": 13840,
                                      "loc": {
                                        "start": {
                                          "line": 370,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 370,
                                          "column": 49
                                        }
                                      },
                                      "left": {
                                        "type": "Literal",
                                        "start": 13837,
                                        "end": 13838,
                                        "loc": {
                                          "start": {
                                            "line": 370,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 370,
                                            "column": 47
                                          }
                                        },
                                        "value": 2,
                                        "rawValue": 2,
                                        "raw": "2"
                                      },
                                      "operator": "*",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 13839,
                                        "end": 13840,
                                        "loc": {
                                          "start": {
                                            "line": 370,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 370,
                                            "column": 49
                                          }
                                        },
                                        "name": "i"
                                      }
                                    },
                                    {
                                      "type": "NewExpression",
                                      "start": 13842,
                                      "end": 13868,
                                      "loc": {
                                        "start": {
                                          "line": 370,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 370,
                                          "column": 77
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 13846,
                                        "end": 13859,
                                        "loc": {
                                          "start": {
                                            "line": 370,
                                            "column": 55
                                          },
                                          "end": {
                                            "line": 370,
                                            "column": 68
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 13846,
                                          "end": 13851,
                                          "loc": {
                                            "start": {
                                              "line": 370,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 370,
                                              "column": 60
                                            }
                                          },
                                          "name": "THREE"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 13852,
                                          "end": 13859,
                                          "loc": {
                                            "start": {
                                              "line": 370,
                                              "column": 61
                                            },
                                            "end": {
                                              "line": 370,
                                              "column": 68
                                            }
                                          },
                                          "name": "Vector3"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Literal",
                                          "start": 13860,
                                          "end": 13861,
                                          "loc": {
                                            "start": {
                                              "line": 370,
                                              "column": 69
                                            },
                                            "end": {
                                              "line": 370,
                                              "column": 70
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 13863,
                                          "end": 13864,
                                          "loc": {
                                            "start": {
                                              "line": 370,
                                              "column": 72
                                            },
                                            "end": {
                                              "line": 370,
                                              "column": 73
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 13866,
                                          "end": 13867,
                                          "loc": {
                                            "start": {
                                              "line": 370,
                                              "column": 75
                                            },
                                            "end": {
                                              "line": 370,
                                              "column": 76
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          }
                        ],
                        "trailingComments": null
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "create a mesh with it",
                          "start": 13903,
                          "end": 13926,
                          "loc": {
                            "start": {
                              "line": 373,
                              "column": 8
                            },
                            "end": {
                              "line": 373,
                              "column": 31
                            }
                          },
                          "range": [
                            13903,
                            13926
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13935,
                      "end": 14181,
                      "loc": {
                        "start": {
                          "line": 374,
                          "column": 8
                        },
                        "end": {
                          "line": 378,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13935,
                        "end": 14180,
                        "loc": {
                          "start": {
                            "line": 374,
                            "column": 8
                          },
                          "end": {
                            "line": 378,
                            "column": 10
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13935,
                          "end": 13944,
                          "loc": {
                            "start": {
                              "line": 374,
                              "column": 8
                            },
                            "end": {
                              "line": 374,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13935,
                            "end": 13939,
                            "loc": {
                              "start": {
                                "line": 374,
                                "column": 8
                              },
                              "end": {
                                "line": 374,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13940,
                            "end": 13944,
                            "loc": {
                              "start": {
                                "line": 374,
                                "column": 13
                              },
                              "end": {
                                "line": 374,
                                "column": 17
                              }
                            },
                            "name": "mesh"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 13947,
                          "end": 14180,
                          "loc": {
                            "start": {
                              "line": 374,
                              "column": 20
                            },
                            "end": {
                              "line": 378,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 13951,
                            "end": 13963,
                            "loc": {
                              "start": {
                                "line": 374,
                                "column": 24
                              },
                              "end": {
                                "line": 374,
                                "column": 36
                              }
                            },
                            "name": "InteractMesh"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 13964,
                              "end": 13972,
                              "loc": {
                                "start": {
                                  "line": 374,
                                  "column": 37
                                },
                                "end": {
                                  "line": 374,
                                  "column": 45
                                }
                              },
                              "name": "geometry"
                            },
                            {
                              "type": "NewExpression",
                              "start": 13974,
                              "end": 14179,
                              "loc": {
                                "start": {
                                  "line": 374,
                                  "column": 47
                                },
                                "end": {
                                  "line": 378,
                                  "column": 9
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 13978,
                                "end": 14001,
                                "loc": {
                                  "start": {
                                    "line": 374,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 374,
                                    "column": 74
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 13978,
                                  "end": 13983,
                                  "loc": {
                                    "start": {
                                      "line": 374,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 374,
                                      "column": 56
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13984,
                                  "end": 14001,
                                  "loc": {
                                    "start": {
                                      "line": 374,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 374,
                                      "column": 74
                                    }
                                  },
                                  "name": "MeshBasicMaterial"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ObjectExpression",
                                  "start": 14015,
                                  "end": 14169,
                                  "loc": {
                                    "start": {
                                      "line": 375,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 377,
                                      "column": 13
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "Property",
                                      "start": 14016,
                                      "end": 14044,
                                      "loc": {
                                        "start": {
                                          "line": 375,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 375,
                                          "column": 41
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 14016,
                                        "end": 14021,
                                        "loc": {
                                          "start": {
                                            "line": 375,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 375,
                                            "column": 18
                                          }
                                        },
                                        "name": "color"
                                      },
                                      "value": {
                                        "type": "CallExpression",
                                        "start": 14023,
                                        "end": 14044,
                                        "loc": {
                                          "start": {
                                            "line": 375,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 375,
                                            "column": 41
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 14023,
                                          "end": 14031,
                                          "loc": {
                                            "start": {
                                              "line": 375,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 375,
                                              "column": 28
                                            }
                                          },
                                          "name": "getColor"
                                        },
                                        "arguments": [
                                          {
                                            "type": "ThisExpression",
                                            "start": 14032,
                                            "end": 14036,
                                            "loc": {
                                              "start": {
                                                "line": 375,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 375,
                                                "column": 33
                                              }
                                            }
                                          },
                                          {
                                            "type": "Literal",
                                            "start": 14038,
                                            "end": 14043,
                                            "loc": {
                                              "start": {
                                                "line": 375,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 375,
                                                "column": 40
                                              }
                                            },
                                            "value": false,
                                            "rawValue": false,
                                            "raw": "false"
                                          }
                                        ]
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 14046,
                                      "end": 14068,
                                      "loc": {
                                        "start": {
                                          "line": 375,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 375,
                                          "column": 65
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 14046,
                                        "end": 14050,
                                        "loc": {
                                          "start": {
                                            "line": 375,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 375,
                                            "column": 47
                                          }
                                        },
                                        "name": "side"
                                      },
                                      "value": {
                                        "type": "MemberExpression",
                                        "start": 14052,
                                        "end": 14068,
                                        "loc": {
                                          "start": {
                                            "line": 375,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 375,
                                            "column": 65
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 14052,
                                          "end": 14057,
                                          "loc": {
                                            "start": {
                                              "line": 375,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 375,
                                              "column": 54
                                            }
                                          },
                                          "name": "THREE"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 14058,
                                          "end": 14068,
                                          "loc": {
                                            "start": {
                                              "line": 375,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 375,
                                              "column": 65
                                            }
                                          },
                                          "name": "DoubleSide"
                                        },
                                        "computed": false
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 14086,
                                      "end": 14105,
                                      "loc": {
                                        "start": {
                                          "line": 376,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 376,
                                          "column": 35
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 14086,
                                        "end": 14099,
                                        "loc": {
                                          "start": {
                                            "line": 376,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 376,
                                            "column": 29
                                          }
                                        },
                                        "name": "polygonOffset"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 14101,
                                        "end": 14105,
                                        "loc": {
                                          "start": {
                                            "line": 376,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 376,
                                            "column": 35
                                          }
                                        },
                                        "value": true,
                                        "rawValue": true,
                                        "raw": "true"
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 14107,
                                      "end": 14130,
                                      "loc": {
                                        "start": {
                                          "line": 376,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 376,
                                          "column": 60
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 14107,
                                        "end": 14126,
                                        "loc": {
                                          "start": {
                                            "line": 376,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 376,
                                            "column": 56
                                          }
                                        },
                                        "name": "polygonOffsetFactor"
                                      },
                                      "value": {
                                        "type": "UnaryExpression",
                                        "start": 14128,
                                        "end": 14130,
                                        "loc": {
                                          "start": {
                                            "line": 376,
                                            "column": 58
                                          },
                                          "end": {
                                            "line": 376,
                                            "column": 60
                                          }
                                        },
                                        "operator": "-",
                                        "prefix": true,
                                        "argument": {
                                          "type": "Literal",
                                          "start": 14129,
                                          "end": 14130,
                                          "loc": {
                                            "start": {
                                              "line": 376,
                                              "column": 59
                                            },
                                            "end": {
                                              "line": 376,
                                              "column": 60
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        }
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 14132,
                                      "end": 14155,
                                      "loc": {
                                        "start": {
                                          "line": 376,
                                          "column": 62
                                        },
                                        "end": {
                                          "line": 376,
                                          "column": 85
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 14132,
                                        "end": 14150,
                                        "loc": {
                                          "start": {
                                            "line": 376,
                                            "column": 62
                                          },
                                          "end": {
                                            "line": 376,
                                            "column": 80
                                          }
                                        },
                                        "name": "polygonOffsetUnits"
                                      },
                                      "value": {
                                        "type": "UnaryExpression",
                                        "start": 14153,
                                        "end": 14155,
                                        "loc": {
                                          "start": {
                                            "line": 376,
                                            "column": 83
                                          },
                                          "end": {
                                            "line": 376,
                                            "column": 85
                                          }
                                        },
                                        "operator": "-",
                                        "prefix": true,
                                        "argument": {
                                          "type": "Literal",
                                          "start": 14154,
                                          "end": 14155,
                                          "loc": {
                                            "start": {
                                              "line": 376,
                                              "column": 84
                                            },
                                            "end": {
                                              "line": 376,
                                              "column": 85
                                            }
                                          },
                                          "value": 5,
                                          "rawValue": 5,
                                          "raw": "5"
                                        }
                                      },
                                      "kind": "init"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "create a mesh with it",
                          "start": 13903,
                          "end": 13926,
                          "loc": {
                            "start": {
                              "line": 373,
                              "column": 8
                            },
                            "end": {
                              "line": 373,
                              "column": 31
                            }
                          },
                          "range": [
                            13903,
                            13926
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14190,
                      "end": 14216,
                      "loc": {
                        "start": {
                          "line": 379,
                          "column": 8
                        },
                        "end": {
                          "line": 379,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14190,
                        "end": 14215,
                        "loc": {
                          "start": {
                            "line": 379,
                            "column": 8
                          },
                          "end": {
                            "line": 379,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14190,
                          "end": 14203,
                          "loc": {
                            "start": {
                              "line": 379,
                              "column": 8
                            },
                            "end": {
                              "line": 379,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14190,
                            "end": 14194,
                            "loc": {
                              "start": {
                                "line": 379,
                                "column": 8
                              },
                              "end": {
                                "line": 379,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14195,
                            "end": 14203,
                            "loc": {
                              "start": {
                                "line": 379,
                                "column": 13
                              },
                              "end": {
                                "line": 379,
                                "column": 21
                              }
                            },
                            "name": "interact"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 14206,
                          "end": 14215,
                          "loc": {
                            "start": {
                              "line": 379,
                              "column": 24
                            },
                            "end": {
                              "line": 379,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14206,
                            "end": 14210,
                            "loc": {
                              "start": {
                                "line": 379,
                                "column": 24
                              },
                              "end": {
                                "line": 379,
                                "column": 28
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14211,
                            "end": 14215,
                            "loc": {
                              "start": {
                                "line": 379,
                                "column": 29
                              },
                              "end": {
                                "line": 379,
                                "column": 33
                              }
                            },
                            "name": "mesh"
                          },
                          "computed": false
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "pseudonym, place your interactions here",
                          "start": 14217,
                          "end": 14258,
                          "loc": {
                            "start": {
                              "line": 379,
                              "column": 35
                            },
                            "end": {
                              "line": 379,
                              "column": 76
                            }
                          },
                          "range": [
                            14217,
                            14258
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14268,
                      "end": 14309,
                      "loc": {
                        "start": {
                          "line": 381,
                          "column": 8
                        },
                        "end": {
                          "line": 381,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14268,
                        "end": 14308,
                        "loc": {
                          "start": {
                            "line": 381,
                            "column": 8
                          },
                          "end": {
                            "line": 381,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14268,
                          "end": 14279,
                          "loc": {
                            "start": {
                              "line": 381,
                              "column": 8
                            },
                            "end": {
                              "line": 381,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14268,
                            "end": 14272,
                            "loc": {
                              "start": {
                                "line": 381,
                                "column": 8
                              },
                              "end": {
                                "line": 381,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14273,
                            "end": 14279,
                            "loc": {
                              "start": {
                                "line": 381,
                                "column": 13
                              },
                              "end": {
                                "line": 381,
                                "column": 19
                              }
                            },
                            "name": "points"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 14282,
                          "end": 14308,
                          "loc": {
                            "start": {
                              "line": 381,
                              "column": 22
                            },
                            "end": {
                              "line": 381,
                              "column": 48
                            }
                          },
                          "elements": [
                            {
                              "type": "NewExpression",
                              "start": 14283,
                              "end": 14294,
                              "loc": {
                                "start": {
                                  "line": 381,
                                  "column": 23
                                },
                                "end": {
                                  "line": 381,
                                  "column": 34
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 14287,
                                "end": 14292,
                                "loc": {
                                  "start": {
                                    "line": 381,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 381,
                                    "column": 32
                                  }
                                },
                                "name": "Point"
                              },
                              "arguments": []
                            },
                            {
                              "type": "NewExpression",
                              "start": 14296,
                              "end": 14307,
                              "loc": {
                                "start": {
                                  "line": 381,
                                  "column": 36
                                },
                                "end": {
                                  "line": 381,
                                  "column": 47
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 14300,
                                "end": 14305,
                                "loc": {
                                  "start": {
                                    "line": 381,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 381,
                                    "column": 45
                                  }
                                },
                                "name": "Point"
                              },
                              "arguments": []
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "pseudonym, place your interactions here",
                          "start": 14217,
                          "end": 14258,
                          "loc": {
                            "start": {
                              "line": 379,
                              "column": 35
                            },
                            "end": {
                              "line": 379,
                              "column": 76
                            }
                          },
                          "range": [
                            14217,
                            14258
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14318,
                      "end": 14349,
                      "loc": {
                        "start": {
                          "line": 382,
                          "column": 8
                        },
                        "end": {
                          "line": 382,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14318,
                        "end": 14348,
                        "loc": {
                          "start": {
                            "line": 382,
                            "column": 8
                          },
                          "end": {
                            "line": 382,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14318,
                          "end": 14334,
                          "loc": {
                            "start": {
                              "line": 382,
                              "column": 8
                            },
                            "end": {
                              "line": 382,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14318,
                            "end": 14322,
                            "loc": {
                              "start": {
                                "line": 382,
                                "column": 8
                              },
                              "end": {
                                "line": 382,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14323,
                            "end": 14334,
                            "loc": {
                              "start": {
                                "line": 382,
                                "column": 13
                              },
                              "end": {
                                "line": 382,
                                "column": 24
                              }
                            },
                            "name": "centerPoint"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 14337,
                          "end": 14348,
                          "loc": {
                            "start": {
                              "line": 382,
                              "column": 27
                            },
                            "end": {
                              "line": 382,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 14341,
                            "end": 14346,
                            "loc": {
                              "start": {
                                "line": 382,
                                "column": 31
                              },
                              "end": {
                                "line": 382,
                                "column": 36
                              }
                            },
                            "name": "Point"
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14358,
                      "end": 14393,
                      "loc": {
                        "start": {
                          "line": 383,
                          "column": 8
                        },
                        "end": {
                          "line": 383,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14358,
                        "end": 14392,
                        "loc": {
                          "start": {
                            "line": 383,
                            "column": 8
                          },
                          "end": {
                            "line": 383,
                            "column": 42
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14358,
                          "end": 14377,
                          "loc": {
                            "start": {
                              "line": 383,
                              "column": 8
                            },
                            "end": {
                              "line": 383,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 14358,
                            "end": 14372,
                            "loc": {
                              "start": {
                                "line": 383,
                                "column": 8
                              },
                              "end": {
                                "line": 383,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 14358,
                              "end": 14369,
                              "loc": {
                                "start": {
                                  "line": 383,
                                  "column": 8
                                },
                                "end": {
                                  "line": 383,
                                  "column": 19
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 14358,
                                "end": 14362,
                                "loc": {
                                  "start": {
                                    "line": 383,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 383,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 14363,
                                "end": 14369,
                                "loc": {
                                  "start": {
                                    "line": 383,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 383,
                                    "column": 19
                                  }
                                },
                                "name": "points"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Literal",
                              "start": 14370,
                              "end": 14371,
                              "loc": {
                                "start": {
                                  "line": 383,
                                  "column": 20
                                },
                                "end": {
                                  "line": 383,
                                  "column": 21
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "computed": true
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14373,
                            "end": 14377,
                            "loc": {
                              "start": {
                                "line": 383,
                                "column": 23
                              },
                              "end": {
                                "line": 383,
                                "column": 27
                              }
                            },
                            "name": "name"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 14380,
                          "end": 14392,
                          "loc": {
                            "start": {
                              "line": 383,
                              "column": 30
                            },
                            "end": {
                              "line": 383,
                              "column": 42
                            }
                          },
                          "value": "startPoint",
                          "rawValue": "startPoint",
                          "raw": "'startPoint'"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14402,
                      "end": 14435,
                      "loc": {
                        "start": {
                          "line": 384,
                          "column": 8
                        },
                        "end": {
                          "line": 384,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14402,
                        "end": 14434,
                        "loc": {
                          "start": {
                            "line": 384,
                            "column": 8
                          },
                          "end": {
                            "line": 384,
                            "column": 40
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14402,
                          "end": 14421,
                          "loc": {
                            "start": {
                              "line": 384,
                              "column": 8
                            },
                            "end": {
                              "line": 384,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 14402,
                            "end": 14416,
                            "loc": {
                              "start": {
                                "line": 384,
                                "column": 8
                              },
                              "end": {
                                "line": 384,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 14402,
                              "end": 14413,
                              "loc": {
                                "start": {
                                  "line": 384,
                                  "column": 8
                                },
                                "end": {
                                  "line": 384,
                                  "column": 19
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 14402,
                                "end": 14406,
                                "loc": {
                                  "start": {
                                    "line": 384,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 384,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 14407,
                                "end": 14413,
                                "loc": {
                                  "start": {
                                    "line": 384,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 384,
                                    "column": 19
                                  }
                                },
                                "name": "points"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Literal",
                              "start": 14414,
                              "end": 14415,
                              "loc": {
                                "start": {
                                  "line": 384,
                                  "column": 20
                                },
                                "end": {
                                  "line": 384,
                                  "column": 21
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "computed": true
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14417,
                            "end": 14421,
                            "loc": {
                              "start": {
                                "line": 384,
                                "column": 23
                              },
                              "end": {
                                "line": 384,
                                "column": 27
                              }
                            },
                            "name": "name"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 14424,
                          "end": 14434,
                          "loc": {
                            "start": {
                              "line": 384,
                              "column": 30
                            },
                            "end": {
                              "line": 384,
                              "column": 40
                            }
                          },
                          "value": "endPoint",
                          "rawValue": "endPoint",
                          "raw": "'endPoint'"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14444,
                      "end": 14477,
                      "loc": {
                        "start": {
                          "line": 385,
                          "column": 8
                        },
                        "end": {
                          "line": 385,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14444,
                        "end": 14476,
                        "loc": {
                          "start": {
                            "line": 385,
                            "column": 8
                          },
                          "end": {
                            "line": 385,
                            "column": 40
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14444,
                          "end": 14465,
                          "loc": {
                            "start": {
                              "line": 385,
                              "column": 8
                            },
                            "end": {
                              "line": 385,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 14444,
                            "end": 14460,
                            "loc": {
                              "start": {
                                "line": 385,
                                "column": 8
                              },
                              "end": {
                                "line": 385,
                                "column": 24
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 14444,
                              "end": 14448,
                              "loc": {
                                "start": {
                                  "line": 385,
                                  "column": 8
                                },
                                "end": {
                                  "line": 385,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14449,
                              "end": 14460,
                              "loc": {
                                "start": {
                                  "line": 385,
                                  "column": 13
                                },
                                "end": {
                                  "line": 385,
                                  "column": 24
                                }
                              },
                              "name": "centerPoint"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14461,
                            "end": 14465,
                            "loc": {
                              "start": {
                                "line": 385,
                                "column": 25
                              },
                              "end": {
                                "line": 385,
                                "column": 29
                              }
                            },
                            "name": "name"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 14468,
                          "end": 14476,
                          "loc": {
                            "start": {
                              "line": 385,
                              "column": 32
                            },
                            "end": {
                              "line": 385,
                              "column": 40
                            }
                          },
                          "value": "center",
                          "rawValue": "center",
                          "raw": "'center'"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14486,
                      "end": 14509,
                      "loc": {
                        "start": {
                          "line": 386,
                          "column": 8
                        },
                        "end": {
                          "line": 386,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14486,
                        "end": 14508,
                        "loc": {
                          "start": {
                            "line": 386,
                            "column": 8
                          },
                          "end": {
                            "line": 386,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14486,
                          "end": 14500,
                          "loc": {
                            "start": {
                              "line": 386,
                              "column": 8
                            },
                            "end": {
                              "line": 386,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14486,
                            "end": 14490,
                            "loc": {
                              "start": {
                                "line": 386,
                                "column": 8
                              },
                              "end": {
                                "line": 386,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14491,
                            "end": 14500,
                            "loc": {
                              "start": {
                                "line": 386,
                                "column": 13
                              },
                              "end": {
                                "line": 386,
                                "column": 22
                              }
                            },
                            "name": "clockwise"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 14503,
                          "end": 14508,
                          "loc": {
                            "start": {
                              "line": 386,
                              "column": 25
                            },
                            "end": {
                              "line": 386,
                              "column": 30
                            }
                          },
                          "value": false,
                          "rawValue": false,
                          "raw": "false"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14518,
                      "end": 14706,
                      "loc": {
                        "start": {
                          "line": 387,
                          "column": 8
                        },
                        "end": {
                          "line": 390,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 14518,
                        "end": 14705,
                        "loc": {
                          "start": {
                            "line": 387,
                            "column": 8
                          },
                          "end": {
                            "line": 390,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 14518,
                          "end": 14562,
                          "loc": {
                            "start": {
                              "line": 387,
                              "column": 8
                            },
                            "end": {
                              "line": 387,
                              "column": 52
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 14518,
                            "end": 14554,
                            "loc": {
                              "start": {
                                "line": 387,
                                "column": 8
                              },
                              "end": {
                                "line": 387,
                                "column": 44
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 14518,
                              "end": 14536,
                              "loc": {
                                "start": {
                                  "line": 387,
                                  "column": 8
                                },
                                "end": {
                                  "line": 387,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 14518,
                                "end": 14529,
                                "loc": {
                                  "start": {
                                    "line": 387,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 387,
                                    "column": 19
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 14518,
                                  "end": 14522,
                                  "loc": {
                                    "start": {
                                      "line": 387,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 387,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14523,
                                  "end": 14529,
                                  "loc": {
                                    "start": {
                                      "line": 387,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 387,
                                      "column": 19
                                    }
                                  },
                                  "name": "points"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 14530,
                                "end": 14536,
                                "loc": {
                                  "start": {
                                    "line": 387,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 387,
                                    "column": 26
                                  }
                                },
                                "name": "concat"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 14537,
                                "end": 14553,
                                "loc": {
                                  "start": {
                                    "line": 387,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 387,
                                    "column": 43
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 14537,
                                  "end": 14541,
                                  "loc": {
                                    "start": {
                                      "line": 387,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 387,
                                      "column": 31
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14542,
                                  "end": 14553,
                                  "loc": {
                                    "start": {
                                      "line": 387,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 387,
                                      "column": 43
                                    }
                                  },
                                  "name": "centerPoint"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14555,
                            "end": 14562,
                            "loc": {
                              "start": {
                                "line": 387,
                                "column": 45
                              },
                              "end": {
                                "line": 387,
                                "column": 52
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 14563,
                            "end": 14704,
                            "loc": {
                              "start": {
                                "line": 387,
                                "column": 53
                              },
                              "end": {
                                "line": 390,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 14563,
                                "end": 14568,
                                "loc": {
                                  "start": {
                                    "line": 387,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 387,
                                    "column": 58
                                  }
                                },
                                "name": "point"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 14572,
                              "end": 14704,
                              "loc": {
                                "start": {
                                  "line": 387,
                                  "column": 62
                                },
                                "end": {
                                  "line": 390,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 14586,
                                  "end": 14636,
                                  "loc": {
                                    "start": {
                                      "line": 388,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 388,
                                      "column": 62
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 14586,
                                    "end": 14635,
                                    "loc": {
                                      "start": {
                                        "line": 388,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 388,
                                        "column": 61
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 14586,
                                      "end": 14594,
                                      "loc": {
                                        "start": {
                                          "line": 388,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 388,
                                          "column": 20
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 14586,
                                        "end": 14591,
                                        "loc": {
                                          "start": {
                                            "line": 388,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 388,
                                            "column": 17
                                          }
                                        },
                                        "name": "point"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14592,
                                        "end": 14594,
                                        "loc": {
                                          "start": {
                                            "line": 388,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 388,
                                            "column": 20
                                          }
                                        },
                                        "name": "on"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 14595,
                                        "end": 14602,
                                        "loc": {
                                          "start": {
                                            "line": 388,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 388,
                                            "column": 28
                                          }
                                        },
                                        "value": "moved",
                                        "rawValue": "moved",
                                        "raw": "'moved'"
                                      },
                                      {
                                        "type": "CallExpression",
                                        "start": 14604,
                                        "end": 14634,
                                        "loc": {
                                          "start": {
                                            "line": 388,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 388,
                                            "column": 60
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 14604,
                                          "end": 14628,
                                          "loc": {
                                            "start": {
                                              "line": 388,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 388,
                                              "column": 54
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 14604,
                                            "end": 14623,
                                            "loc": {
                                              "start": {
                                                "line": 388,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 388,
                                                "column": 49
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 14604,
                                              "end": 14608,
                                              "loc": {
                                                "start": {
                                                  "line": 388,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 388,
                                                  "column": 34
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 14609,
                                              "end": 14623,
                                              "loc": {
                                                "start": {
                                                  "line": 388,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 388,
                                                  "column": 49
                                                }
                                              },
                                              "name": "updateGeometry"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 14624,
                                            "end": 14628,
                                            "loc": {
                                              "start": {
                                                "line": 388,
                                                "column": 50
                                              },
                                              "end": {
                                                "line": 388,
                                                "column": 54
                                              }
                                            },
                                            "name": "bind"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "ThisExpression",
                                            "start": 14629,
                                            "end": 14633,
                                            "loc": {
                                              "start": {
                                                "line": 388,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 388,
                                                "column": 59
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 14649,
                                  "end": 14694,
                                  "loc": {
                                    "start": {
                                      "line": 389,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 389,
                                      "column": 57
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 14649,
                                    "end": 14693,
                                    "loc": {
                                      "start": {
                                        "line": 389,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 389,
                                        "column": 56
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 14649,
                                      "end": 14657,
                                      "loc": {
                                        "start": {
                                          "line": 389,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 389,
                                          "column": 20
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 14649,
                                        "end": 14654,
                                        "loc": {
                                          "start": {
                                            "line": 389,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 389,
                                            "column": 17
                                          }
                                        },
                                        "name": "point"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14655,
                                        "end": 14657,
                                        "loc": {
                                          "start": {
                                            "line": 389,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 389,
                                            "column": 20
                                          }
                                        },
                                        "name": "on"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 14658,
                                        "end": 14667,
                                        "loc": {
                                          "start": {
                                            "line": 389,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 389,
                                            "column": 30
                                          }
                                        },
                                        "value": "dragend",
                                        "rawValue": "dragend",
                                        "raw": "'dragend'"
                                      },
                                      {
                                        "type": "CallExpression",
                                        "start": 14669,
                                        "end": 14692,
                                        "loc": {
                                          "start": {
                                            "line": 389,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 389,
                                            "column": 55
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 14669,
                                          "end": 14686,
                                          "loc": {
                                            "start": {
                                              "line": 389,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 389,
                                              "column": 49
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 14669,
                                            "end": 14681,
                                            "loc": {
                                              "start": {
                                                "line": 389,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 389,
                                                "column": 44
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 14669,
                                              "end": 14673,
                                              "loc": {
                                                "start": {
                                                  "line": 389,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 389,
                                                  "column": 36
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 14674,
                                              "end": 14681,
                                              "loc": {
                                                "start": {
                                                  "line": 389,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 389,
                                                  "column": 44
                                                }
                                              },
                                              "name": "endDrag"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 14682,
                                            "end": 14686,
                                            "loc": {
                                              "start": {
                                                "line": 389,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 389,
                                                "column": 49
                                              }
                                            },
                                            "name": "bind"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "ThisExpression",
                                            "start": 14687,
                                            "end": 14691,
                                            "loc": {
                                              "start": {
                                                "line": 389,
                                                "column": 50
                                              },
                                              "end": {
                                                "line": 389,
                                                "column": 54
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14716,
                      "end": 14744,
                      "loc": {
                        "start": {
                          "line": 392,
                          "column": 8
                        },
                        "end": {
                          "line": 392,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14716,
                        "end": 14743,
                        "loc": {
                          "start": {
                            "line": 392,
                            "column": 8
                          },
                          "end": {
                            "line": 392,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14716,
                          "end": 14726,
                          "loc": {
                            "start": {
                              "line": 392,
                              "column": 8
                            },
                            "end": {
                              "line": 392,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14716,
                            "end": 14720,
                            "loc": {
                              "start": {
                                "line": 392,
                                "column": 8
                              },
                              "end": {
                                "line": 392,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14721,
                            "end": 14726,
                            "loc": {
                              "start": {
                                "line": 392,
                                "column": 13
                              },
                              "end": {
                                "line": 392,
                                "column": 18
                              }
                            },
                            "name": "width"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 14729,
                          "end": 14743,
                          "loc": {
                            "start": {
                              "line": 392,
                              "column": 21
                            },
                            "end": {
                              "line": 392,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14729,
                            "end": 14733,
                            "loc": {
                              "start": {
                                "line": 392,
                                "column": 21
                              },
                              "end": {
                                "line": 392,
                                "column": 25
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14734,
                            "end": 14743,
                            "loc": {
                              "start": {
                                "line": 392,
                                "column": 26
                              },
                              "end": {
                                "line": 392,
                                "column": 35
                              }
                            },
                            "name": "thickness"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14753,
                      "end": 14850,
                      "loc": {
                        "start": {
                          "line": 393,
                          "column": 8
                        },
                        "end": {
                          "line": 393,
                          "column": 105
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 14753,
                        "end": 14849,
                        "loc": {
                          "start": {
                            "line": 393,
                            "column": 8
                          },
                          "end": {
                            "line": 393,
                            "column": 104
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 14753,
                          "end": 14761,
                          "loc": {
                            "start": {
                              "line": 393,
                              "column": 8
                            },
                            "end": {
                              "line": 393,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14753,
                            "end": 14757,
                            "loc": {
                              "start": {
                                "line": 393,
                                "column": 8
                              },
                              "end": {
                                "line": 393,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14758,
                            "end": 14761,
                            "loc": {
                              "start": {
                                "line": 393,
                                "column": 13
                              },
                              "end": {
                                "line": 393,
                                "column": 16
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 14762,
                            "end": 14776,
                            "loc": {
                              "start": {
                                "line": 393,
                                "column": 17
                              },
                              "end": {
                                "line": 393,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 14762,
                              "end": 14773,
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 17
                                },
                                "end": {
                                  "line": 393,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 14762,
                                "end": 14766,
                                "loc": {
                                  "start": {
                                    "line": 393,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 393,
                                    "column": 21
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 14767,
                                "end": 14773,
                                "loc": {
                                  "start": {
                                    "line": 393,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 393,
                                    "column": 28
                                  }
                                },
                                "name": "points"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Literal",
                              "start": 14774,
                              "end": 14775,
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 29
                                },
                                "end": {
                                  "line": 393,
                                  "column": 30
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "computed": true
                          },
                          {
                            "type": "MemberExpression",
                            "start": 14778,
                            "end": 14792,
                            "loc": {
                              "start": {
                                "line": 393,
                                "column": 33
                              },
                              "end": {
                                "line": 393,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 14778,
                              "end": 14789,
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 33
                                },
                                "end": {
                                  "line": 393,
                                  "column": 44
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 14778,
                                "end": 14782,
                                "loc": {
                                  "start": {
                                    "line": 393,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 393,
                                    "column": 37
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 14783,
                                "end": 14789,
                                "loc": {
                                  "start": {
                                    "line": 393,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 393,
                                    "column": 44
                                  }
                                },
                                "name": "points"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Literal",
                              "start": 14790,
                              "end": 14791,
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 45
                                },
                                "end": {
                                  "line": 393,
                                  "column": 46
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "computed": true
                          },
                          {
                            "type": "MemberExpression",
                            "start": 14794,
                            "end": 14810,
                            "loc": {
                              "start": {
                                "line": 393,
                                "column": 49
                              },
                              "end": {
                                "line": 393,
                                "column": 65
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 14794,
                              "end": 14798,
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 49
                                },
                                "end": {
                                  "line": 393,
                                  "column": 53
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14799,
                              "end": 14810,
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 54
                                },
                                "end": {
                                  "line": 393,
                                  "column": 65
                                }
                              },
                              "name": "centerPoint"
                            },
                            "computed": false
                          },
                          {
                            "type": "MemberExpression",
                            "start": 14812,
                            "end": 14821,
                            "loc": {
                              "start": {
                                "line": 393,
                                "column": 67
                              },
                              "end": {
                                "line": 393,
                                "column": 76
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 14812,
                              "end": 14816,
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 67
                                },
                                "end": {
                                  "line": 393,
                                  "column": 71
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14817,
                              "end": 14821,
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 72
                                },
                                "end": {
                                  "line": 393,
                                  "column": 76
                                }
                              },
                              "name": "mesh"
                            },
                            "computed": false
                          },
                          {
                            "type": "MemberExpression",
                            "start": 14823,
                            "end": 14848,
                            "loc": {
                              "start": {
                                "line": 393,
                                "column": 78
                              },
                              "end": {
                                "line": 393,
                                "column": 103
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 14823,
                              "end": 14827,
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 78
                                },
                                "end": {
                                  "line": 393,
                                  "column": 82
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14828,
                              "end": 14848,
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 83
                                },
                                "end": {
                                  "line": 393,
                                  "column": 103
                                }
                              },
                              "name": "constraintsSubstrate"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14859,
                      "end": 14881,
                      "loc": {
                        "start": {
                          "line": 394,
                          "column": 8
                        },
                        "end": {
                          "line": 394,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 14859,
                        "end": 14880,
                        "loc": {
                          "start": {
                            "line": 394,
                            "column": 8
                          },
                          "end": {
                            "line": 394,
                            "column": 29
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 14859,
                          "end": 14878,
                          "loc": {
                            "start": {
                              "line": 394,
                              "column": 8
                            },
                            "end": {
                              "line": 394,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14859,
                            "end": 14863,
                            "loc": {
                              "start": {
                                "line": 394,
                                "column": 8
                              },
                              "end": {
                                "line": 394,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14864,
                            "end": 14878,
                            "loc": {
                              "start": {
                                "line": 394,
                                "column": 13
                              },
                              "end": {
                                "line": 394,
                                "column": 27
                              }
                            },
                            "name": "updateGeometry"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 14893,
              "end": 15158,
              "loc": {
                "start": {
                  "line": 397,
                  "column": 4
                },
                "end": {
                  "line": 401,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 14893,
                "end": 14910,
                "loc": {
                  "start": {
                    "line": 397,
                    "column": 4
                  },
                  "end": {
                    "line": 397,
                    "column": 21
                  }
                },
                "name": "getMiddlePosition"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 14910,
                "end": 15158,
                "loc": {
                  "start": {
                    "line": 397,
                    "column": 21
                  },
                  "end": {
                    "line": 401,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 14913,
                  "end": 15158,
                  "loc": {
                    "start": {
                      "line": 397,
                      "column": 24
                    },
                    "end": {
                      "line": 401,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 14970,
                      "end": 15022,
                      "loc": {
                        "start": {
                          "line": 399,
                          "column": 8
                        },
                        "end": {
                          "line": 399,
                          "column": 60
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 14974,
                          "end": 15021,
                          "loc": {
                            "start": {
                              "line": 399,
                              "column": 12
                            },
                            "end": {
                              "line": 399,
                              "column": 59
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 14974,
                            "end": 14979,
                            "loc": {
                              "start": {
                                "line": 399,
                                "column": 12
                              },
                              "end": {
                                "line": 399,
                                "column": 17
                              }
                            },
                            "name": "angle",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 14982,
                            "end": 15021,
                            "loc": {
                              "start": {
                                "line": 399,
                                "column": 20
                              },
                              "end": {
                                "line": 399,
                                "column": 59
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 14983,
                              "end": 15014,
                              "loc": {
                                "start": {
                                  "line": 399,
                                  "column": 21
                                },
                                "end": {
                                  "line": 399,
                                  "column": 52
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 14983,
                                "end": 14998,
                                "loc": {
                                  "start": {
                                    "line": 399,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 399,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 14983,
                                  "end": 14987,
                                  "loc": {
                                    "start": {
                                      "line": 399,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 399,
                                      "column": 25
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14988,
                                  "end": 14998,
                                  "loc": {
                                    "start": {
                                      "line": 399,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 399,
                                      "column": 36
                                    }
                                  },
                                  "name": "angleStart"
                                },
                                "computed": false
                              },
                              "operator": "+",
                              "right": {
                                "type": "MemberExpression",
                                "start": 15001,
                                "end": 15014,
                                "loc": {
                                  "start": {
                                    "line": 399,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 399,
                                    "column": 52
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 15001,
                                  "end": 15005,
                                  "loc": {
                                    "start": {
                                      "line": 399,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 399,
                                      "column": 43
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15006,
                                  "end": 15014,
                                  "loc": {
                                    "start": {
                                      "line": 399,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 399,
                                      "column": 52
                                    }
                                  },
                                  "name": "angleEnd"
                                },
                                "computed": false
                              },
                              "parenthesizedExpression": true
                            },
                            "operator": "*",
                            "right": {
                              "type": "Literal",
                              "start": 15018,
                              "end": 15021,
                              "loc": {
                                "start": {
                                  "line": 399,
                                  "column": 56
                                },
                                "end": {
                                  "line": 399,
                                  "column": 59
                                }
                              },
                              "value": 0.5,
                              "rawValue": 0.5,
                              "raw": "0.5"
                            }
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "returns middle point on circular arc",
                          "start": 14923,
                          "end": 14961,
                          "loc": {
                            "start": {
                              "line": 398,
                              "column": 8
                            },
                            "end": {
                              "line": 398,
                              "column": 46
                            }
                          },
                          "range": [
                            14923,
                            14961
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 15031,
                      "end": 15152,
                      "loc": {
                        "start": {
                          "line": 400,
                          "column": 8
                        },
                        "end": {
                          "line": 400,
                          "column": 129
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 15038,
                        "end": 15151,
                        "loc": {
                          "start": {
                            "line": 400,
                            "column": 15
                          },
                          "end": {
                            "line": 400,
                            "column": 128
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 15038,
                          "end": 15124,
                          "loc": {
                            "start": {
                              "line": 400,
                              "column": 15
                            },
                            "end": {
                              "line": 400,
                              "column": 101
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 15038,
                            "end": 15120,
                            "loc": {
                              "start": {
                                "line": 400,
                                "column": 15
                              },
                              "end": {
                                "line": 400,
                                "column": 97
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 15038,
                              "end": 15107,
                              "loc": {
                                "start": {
                                  "line": 400,
                                  "column": 15
                                },
                                "end": {
                                  "line": 400,
                                  "column": 84
                                }
                              },
                              "object": {
                                "type": "NewExpression",
                                "start": 15038,
                                "end": 15092,
                                "loc": {
                                  "start": {
                                    "line": 400,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 400,
                                    "column": 69
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 15042,
                                  "end": 15055,
                                  "loc": {
                                    "start": {
                                      "line": 400,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 400,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 15042,
                                    "end": 15047,
                                    "loc": {
                                      "start": {
                                        "line": 400,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 400,
                                        "column": 24
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15048,
                                    "end": 15055,
                                    "loc": {
                                      "start": {
                                        "line": 400,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 400,
                                        "column": 32
                                      }
                                    },
                                    "name": "Vector3"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 15056,
                                    "end": 15071,
                                    "loc": {
                                      "start": {
                                        "line": 400,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 400,
                                        "column": 48
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 15056,
                                      "end": 15064,
                                      "loc": {
                                        "start": {
                                          "line": 400,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 400,
                                          "column": 41
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 15056,
                                        "end": 15060,
                                        "loc": {
                                          "start": {
                                            "line": 400,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 400,
                                            "column": 37
                                          }
                                        },
                                        "name": "Math"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 15061,
                                        "end": 15064,
                                        "loc": {
                                          "start": {
                                            "line": 400,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 400,
                                            "column": 41
                                          }
                                        },
                                        "name": "cos"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 15065,
                                        "end": 15070,
                                        "loc": {
                                          "start": {
                                            "line": 400,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 400,
                                            "column": 47
                                          }
                                        },
                                        "name": "angle"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "CallExpression",
                                    "start": 15073,
                                    "end": 15088,
                                    "loc": {
                                      "start": {
                                        "line": 400,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 400,
                                        "column": 65
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 15073,
                                      "end": 15081,
                                      "loc": {
                                        "start": {
                                          "line": 400,
                                          "column": 50
                                        },
                                        "end": {
                                          "line": 400,
                                          "column": 58
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 15073,
                                        "end": 15077,
                                        "loc": {
                                          "start": {
                                            "line": 400,
                                            "column": 50
                                          },
                                          "end": {
                                            "line": 400,
                                            "column": 54
                                          }
                                        },
                                        "name": "Math"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 15078,
                                        "end": 15081,
                                        "loc": {
                                          "start": {
                                            "line": 400,
                                            "column": 55
                                          },
                                          "end": {
                                            "line": 400,
                                            "column": 58
                                          }
                                        },
                                        "name": "sin"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 15082,
                                        "end": 15087,
                                        "loc": {
                                          "start": {
                                            "line": 400,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 400,
                                            "column": 64
                                          }
                                        },
                                        "name": "angle"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 15090,
                                    "end": 15091,
                                    "loc": {
                                      "start": {
                                        "line": 400,
                                        "column": 67
                                      },
                                      "end": {
                                        "line": 400,
                                        "column": 68
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15093,
                                "end": 15107,
                                "loc": {
                                  "start": {
                                    "line": 400,
                                    "column": 70
                                  },
                                  "end": {
                                    "line": 400,
                                    "column": 84
                                  }
                                },
                                "name": "multiplyScalar"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 15108,
                                "end": 15119,
                                "loc": {
                                  "start": {
                                    "line": 400,
                                    "column": 85
                                  },
                                  "end": {
                                    "line": 400,
                                    "column": 96
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 15108,
                                  "end": 15112,
                                  "loc": {
                                    "start": {
                                      "line": 400,
                                      "column": 85
                                    },
                                    "end": {
                                      "line": 400,
                                      "column": 89
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15113,
                                  "end": 15119,
                                  "loc": {
                                    "start": {
                                      "line": 400,
                                      "column": 90
                                    },
                                    "end": {
                                      "line": 400,
                                      "column": 96
                                    }
                                  },
                                  "name": "radius"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15121,
                            "end": 15124,
                            "loc": {
                              "start": {
                                "line": 400,
                                "column": 98
                              },
                              "end": {
                                "line": 400,
                                "column": 101
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 15125,
                            "end": 15150,
                            "loc": {
                              "start": {
                                "line": 400,
                                "column": 102
                              },
                              "end": {
                                "line": 400,
                                "column": 127
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 15125,
                              "end": 15141,
                              "loc": {
                                "start": {
                                  "line": 400,
                                  "column": 102
                                },
                                "end": {
                                  "line": 400,
                                  "column": 118
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 15125,
                                "end": 15129,
                                "loc": {
                                  "start": {
                                    "line": 400,
                                    "column": 102
                                  },
                                  "end": {
                                    "line": 400,
                                    "column": 106
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15130,
                                "end": 15141,
                                "loc": {
                                  "start": {
                                    "line": 400,
                                    "column": 107
                                  },
                                  "end": {
                                    "line": 400,
                                    "column": 118
                                  }
                                },
                                "name": "centerPoint"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15142,
                              "end": 15150,
                              "loc": {
                                "start": {
                                  "line": 400,
                                  "column": 119
                                },
                                "end": {
                                  "line": 400,
                                  "column": 127
                                }
                              },
                              "name": "position"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 15164,
              "end": 15565,
              "loc": {
                "start": {
                  "line": 403,
                  "column": 4
                },
                "end": {
                  "line": 413,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 15164,
                "end": 15174,
                "loc": {
                  "start": {
                    "line": 403,
                    "column": 4
                  },
                  "end": {
                    "line": 403,
                    "column": 14
                  }
                },
                "name": "getTangent"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 15174,
                "end": 15565,
                "loc": {
                  "start": {
                    "line": 403,
                    "column": 14
                  },
                  "end": {
                    "line": 413,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 15175,
                    "end": 15182,
                    "loc": {
                      "start": {
                        "line": 403,
                        "column": 15
                      },
                      "end": {
                        "line": 403,
                        "column": 22
                      }
                    },
                    "name": "atPoint"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 15184,
                  "end": 15565,
                  "loc": {
                    "start": {
                      "line": 403,
                      "column": 24
                    },
                    "end": {
                      "line": 413,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 15240,
                      "end": 15300,
                      "loc": {
                        "start": {
                          "line": 405,
                          "column": 8
                        },
                        "end": {
                          "line": 405,
                          "column": 68
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 15244,
                          "end": 15299,
                          "loc": {
                            "start": {
                              "line": 405,
                              "column": 12
                            },
                            "end": {
                              "line": 405,
                              "column": 67
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 15244,
                            "end": 15250,
                            "loc": {
                              "start": {
                                "line": 405,
                                "column": 12
                              },
                              "end": {
                                "line": 405,
                                "column": 18
                              }
                            },
                            "name": "radVec",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 15253,
                            "end": 15299,
                            "loc": {
                              "start": {
                                "line": 405,
                                "column": 21
                              },
                              "end": {
                                "line": 405,
                                "column": 67
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 15253,
                              "end": 15272,
                              "loc": {
                                "start": {
                                  "line": 405,
                                  "column": 21
                                },
                                "end": {
                                  "line": 405,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 15253,
                                "end": 15268,
                                "loc": {
                                  "start": {
                                    "line": 405,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 405,
                                    "column": 36
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 15253,
                                  "end": 15266,
                                  "loc": {
                                    "start": {
                                      "line": 405,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 405,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 15253,
                                    "end": 15260,
                                    "loc": {
                                      "start": {
                                        "line": 405,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 405,
                                        "column": 28
                                      }
                                    },
                                    "name": "atPoint"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15261,
                                    "end": 15266,
                                    "loc": {
                                      "start": {
                                        "line": 405,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 405,
                                        "column": 34
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15269,
                                "end": 15272,
                                "loc": {
                                  "start": {
                                    "line": 405,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 405,
                                    "column": 40
                                  }
                                },
                                "name": "sub"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 15273,
                                "end": 15298,
                                "loc": {
                                  "start": {
                                    "line": 405,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 405,
                                    "column": 66
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 15273,
                                  "end": 15289,
                                  "loc": {
                                    "start": {
                                      "line": 405,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 405,
                                      "column": 57
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 15273,
                                    "end": 15277,
                                    "loc": {
                                      "start": {
                                        "line": 405,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 405,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15278,
                                    "end": 15289,
                                    "loc": {
                                      "start": {
                                        "line": 405,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 405,
                                        "column": 57
                                      }
                                    },
                                    "name": "centerPoint"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15290,
                                  "end": 15298,
                                  "loc": {
                                    "start": {
                                      "line": 405,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 405,
                                      "column": 66
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "returns unit tangent or zero vector",
                          "start": 15194,
                          "end": 15231,
                          "loc": {
                            "start": {
                              "line": 404,
                              "column": 8
                            },
                            "end": {
                              "line": 404,
                              "column": 45
                            }
                          },
                          "range": [
                            15194,
                            15231
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 15309,
                      "end": 15382,
                      "loc": {
                        "start": {
                          "line": 406,
                          "column": 8
                        },
                        "end": {
                          "line": 407,
                          "column": 44
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 15313,
                        "end": 15336,
                        "loc": {
                          "start": {
                            "line": 406,
                            "column": 12
                          },
                          "end": {
                            "line": 406,
                            "column": 35
                          }
                        },
                        "left": {
                          "type": "CallExpression",
                          "start": 15313,
                          "end": 15328,
                          "loc": {
                            "start": {
                              "line": 406,
                              "column": 12
                            },
                            "end": {
                              "line": 406,
                              "column": 27
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 15313,
                            "end": 15326,
                            "loc": {
                              "start": {
                                "line": 406,
                                "column": 12
                              },
                              "end": {
                                "line": 406,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 15313,
                              "end": 15319,
                              "loc": {
                                "start": {
                                  "line": 406,
                                  "column": 12
                                },
                                "end": {
                                  "line": 406,
                                  "column": 18
                                }
                              },
                              "name": "radVec"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15320,
                              "end": 15326,
                              "loc": {
                                "start": {
                                  "line": 406,
                                  "column": 19
                                },
                                "end": {
                                  "line": 406,
                                  "column": 25
                                }
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "operator": "<=",
                        "right": {
                          "type": "Literal",
                          "start": 15332,
                          "end": 15336,
                          "loc": {
                            "start": {
                              "line": 406,
                              "column": 31
                            },
                            "end": {
                              "line": 406,
                              "column": 35
                            }
                          },
                          "value": 1e-9,
                          "rawValue": 1e-9,
                          "raw": "1e-9"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 15348,
                        "end": 15382,
                        "loc": {
                          "start": {
                            "line": 407,
                            "column": 10
                          },
                          "end": {
                            "line": 407,
                            "column": 44
                          }
                        },
                        "argument": {
                          "type": "NewExpression",
                          "start": 15355,
                          "end": 15381,
                          "loc": {
                            "start": {
                              "line": 407,
                              "column": 17
                            },
                            "end": {
                              "line": 407,
                              "column": 43
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 15359,
                            "end": 15372,
                            "loc": {
                              "start": {
                                "line": 407,
                                "column": 21
                              },
                              "end": {
                                "line": 407,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 15359,
                              "end": 15364,
                              "loc": {
                                "start": {
                                  "line": 407,
                                  "column": 21
                                },
                                "end": {
                                  "line": 407,
                                  "column": 26
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15365,
                              "end": 15372,
                              "loc": {
                                "start": {
                                  "line": 407,
                                  "column": 27
                                },
                                "end": {
                                  "line": 407,
                                  "column": 34
                                }
                              },
                              "name": "Vector3"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 15373,
                              "end": 15374,
                              "loc": {
                                "start": {
                                  "line": 407,
                                  "column": 35
                                },
                                "end": {
                                  "line": 407,
                                  "column": 36
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            {
                              "type": "Literal",
                              "start": 15376,
                              "end": 15377,
                              "loc": {
                                "start": {
                                  "line": 407,
                                  "column": 38
                                },
                                "end": {
                                  "line": 407,
                                  "column": 39
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            {
                              "type": "Literal",
                              "start": 15379,
                              "end": 15380,
                              "loc": {
                                "start": {
                                  "line": 407,
                                  "column": 41
                                },
                                "end": {
                                  "line": 407,
                                  "column": 42
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15391,
                      "end": 15410,
                      "loc": {
                        "start": {
                          "line": 408,
                          "column": 8
                        },
                        "end": {
                          "line": 408,
                          "column": 27
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 15391,
                        "end": 15409,
                        "loc": {
                          "start": {
                            "line": 408,
                            "column": 8
                          },
                          "end": {
                            "line": 408,
                            "column": 26
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 15391,
                          "end": 15407,
                          "loc": {
                            "start": {
                              "line": 408,
                              "column": 8
                            },
                            "end": {
                              "line": 408,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 15391,
                            "end": 15397,
                            "loc": {
                              "start": {
                                "line": 408,
                                "column": 8
                              },
                              "end": {
                                "line": 408,
                                "column": 14
                              }
                            },
                            "name": "radVec"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15398,
                            "end": 15407,
                            "loc": {
                              "start": {
                                "line": 408,
                                "column": 15
                              },
                              "end": {
                                "line": 408,
                                "column": 24
                              }
                            },
                            "name": "normalize"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 15419,
                      "end": 15477,
                      "loc": {
                        "start": {
                          "line": 409,
                          "column": 8
                        },
                        "end": {
                          "line": 409,
                          "column": 66
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 15423,
                          "end": 15476,
                          "loc": {
                            "start": {
                              "line": 409,
                              "column": 12
                            },
                            "end": {
                              "line": 409,
                              "column": 65
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 15423,
                            "end": 15430,
                            "loc": {
                              "start": {
                                "line": 409,
                                "column": 12
                              },
                              "end": {
                                "line": 409,
                                "column": 19
                              }
                            },
                            "name": "tangVec"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 15433,
                            "end": 15476,
                            "loc": {
                              "start": {
                                "line": 409,
                                "column": 22
                              },
                              "end": {
                                "line": 409,
                                "column": 65
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 15437,
                              "end": 15450,
                              "loc": {
                                "start": {
                                  "line": 409,
                                  "column": 26
                                },
                                "end": {
                                  "line": 409,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 15437,
                                "end": 15442,
                                "loc": {
                                  "start": {
                                    "line": 409,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 409,
                                    "column": 31
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15443,
                                "end": 15450,
                                "loc": {
                                  "start": {
                                    "line": 409,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 409,
                                    "column": 39
                                  }
                                },
                                "name": "Vector3"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "UnaryExpression",
                                "start": 15451,
                                "end": 15460,
                                "loc": {
                                  "start": {
                                    "line": 409,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 409,
                                    "column": 49
                                  }
                                },
                                "operator": "-",
                                "prefix": true,
                                "argument": {
                                  "type": "MemberExpression",
                                  "start": 15452,
                                  "end": 15460,
                                  "loc": {
                                    "start": {
                                      "line": 409,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 409,
                                      "column": 49
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 15452,
                                    "end": 15458,
                                    "loc": {
                                      "start": {
                                        "line": 409,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 409,
                                        "column": 47
                                      }
                                    },
                                    "name": "radVec"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15459,
                                    "end": 15460,
                                    "loc": {
                                      "start": {
                                        "line": 409,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 409,
                                        "column": 49
                                      }
                                    },
                                    "name": "y"
                                  },
                                  "computed": false
                                }
                              },
                              {
                                "type": "MemberExpression",
                                "start": 15462,
                                "end": 15470,
                                "loc": {
                                  "start": {
                                    "line": 409,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 409,
                                    "column": 59
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 15462,
                                  "end": 15468,
                                  "loc": {
                                    "start": {
                                      "line": 409,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 409,
                                      "column": 57
                                    }
                                  },
                                  "name": "radVec"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15469,
                                  "end": 15470,
                                  "loc": {
                                    "start": {
                                      "line": 409,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 409,
                                      "column": 59
                                    }
                                  },
                                  "name": "x"
                                },
                                "computed": false
                              },
                              {
                                "type": "Literal",
                                "start": 15472,
                                "end": 15475,
                                "loc": {
                                  "start": {
                                    "line": 409,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 409,
                                    "column": 64
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0.0"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 15486,
                      "end": 15535,
                      "loc": {
                        "start": {
                          "line": 410,
                          "column": 8
                        },
                        "end": {
                          "line": 411,
                          "column": 29
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 15490,
                        "end": 15504,
                        "loc": {
                          "start": {
                            "line": 410,
                            "column": 12
                          },
                          "end": {
                            "line": 410,
                            "column": 26
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 15490,
                          "end": 15494,
                          "loc": {
                            "start": {
                              "line": 410,
                              "column": 12
                            },
                            "end": {
                              "line": 410,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 15495,
                          "end": 15504,
                          "loc": {
                            "start": {
                              "line": 410,
                              "column": 17
                            },
                            "end": {
                              "line": 410,
                              "column": 26
                            }
                          },
                          "name": "clockwise"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 15518,
                        "end": 15535,
                        "loc": {
                          "start": {
                            "line": 411,
                            "column": 12
                          },
                          "end": {
                            "line": 411,
                            "column": 29
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 15518,
                          "end": 15534,
                          "loc": {
                            "start": {
                              "line": 411,
                              "column": 12
                            },
                            "end": {
                              "line": 411,
                              "column": 28
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 15518,
                            "end": 15532,
                            "loc": {
                              "start": {
                                "line": 411,
                                "column": 12
                              },
                              "end": {
                                "line": 411,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 15518,
                              "end": 15525,
                              "loc": {
                                "start": {
                                  "line": 411,
                                  "column": 12
                                },
                                "end": {
                                  "line": 411,
                                  "column": 19
                                }
                              },
                              "name": "tangVec"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15526,
                              "end": 15532,
                              "loc": {
                                "start": {
                                  "line": 411,
                                  "column": 20
                                },
                                "end": {
                                  "line": 411,
                                  "column": 26
                                }
                              },
                              "name": "negate"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 15544,
                      "end": 15559,
                      "loc": {
                        "start": {
                          "line": 412,
                          "column": 8
                        },
                        "end": {
                          "line": 412,
                          "column": 23
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 15551,
                        "end": 15558,
                        "loc": {
                          "start": {
                            "line": 412,
                            "column": 15
                          },
                          "end": {
                            "line": 412,
                            "column": 22
                          }
                        },
                        "name": "tangVec"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 15571,
              "end": 15647,
              "loc": {
                "start": {
                  "line": 415,
                  "column": 4
                },
                "end": {
                  "line": 417,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 15571,
                "end": 15579,
                "loc": {
                  "start": {
                    "line": 415,
                    "column": 4
                  },
                  "end": {
                    "line": 415,
                    "column": 12
                  }
                },
                "name": "getAngle"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 15579,
                "end": 15647,
                "loc": {
                  "start": {
                    "line": 415,
                    "column": 12
                  },
                  "end": {
                    "line": 417,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 15582,
                  "end": 15647,
                  "loc": {
                    "start": {
                      "line": 415,
                      "column": 15
                    },
                    "end": {
                      "line": 417,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 15592,
                      "end": 15641,
                      "loc": {
                        "start": {
                          "line": 416,
                          "column": 8
                        },
                        "end": {
                          "line": 416,
                          "column": 57
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 15599,
                        "end": 15640,
                        "loc": {
                          "start": {
                            "line": 416,
                            "column": 15
                          },
                          "end": {
                            "line": 416,
                            "column": 56
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 15599,
                          "end": 15607,
                          "loc": {
                            "start": {
                              "line": 416,
                              "column": 15
                            },
                            "end": {
                              "line": 416,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 15599,
                            "end": 15603,
                            "loc": {
                              "start": {
                                "line": 416,
                                "column": 15
                              },
                              "end": {
                                "line": 416,
                                "column": 19
                              }
                            },
                            "name": "Math"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15604,
                            "end": 15607,
                            "loc": {
                              "start": {
                                "line": 416,
                                "column": 20
                              },
                              "end": {
                                "line": 416,
                                "column": 23
                              }
                            },
                            "name": "abs"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 15608,
                            "end": 15639,
                            "loc": {
                              "start": {
                                "line": 416,
                                "column": 24
                              },
                              "end": {
                                "line": 416,
                                "column": 55
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 15608,
                              "end": 15621,
                              "loc": {
                                "start": {
                                  "line": 416,
                                  "column": 24
                                },
                                "end": {
                                  "line": 416,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 15608,
                                "end": 15612,
                                "loc": {
                                  "start": {
                                    "line": 416,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 416,
                                    "column": 28
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15613,
                                "end": 15621,
                                "loc": {
                                  "start": {
                                    "line": 416,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 416,
                                    "column": 37
                                  }
                                },
                                "name": "angleEnd"
                              },
                              "computed": false
                            },
                            "operator": "-",
                            "right": {
                              "type": "MemberExpression",
                              "start": 15624,
                              "end": 15639,
                              "loc": {
                                "start": {
                                  "line": 416,
                                  "column": 40
                                },
                                "end": {
                                  "line": 416,
                                  "column": 55
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 15624,
                                "end": 15628,
                                "loc": {
                                  "start": {
                                    "line": 416,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 416,
                                    "column": 44
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15629,
                                "end": 15639,
                                "loc": {
                                  "start": {
                                    "line": 416,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 416,
                                    "column": 55
                                  }
                                },
                                "name": "angleStart"
                              },
                              "computed": false
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 15652,
              "end": 15717,
              "loc": {
                "start": {
                  "line": 418,
                  "column": 4
                },
                "end": {
                  "line": 420,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 15652,
                "end": 15661,
                "loc": {
                  "start": {
                    "line": 418,
                    "column": 4
                  },
                  "end": {
                    "line": 418,
                    "column": 13
                  }
                },
                "name": "getLength"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 15661,
                "end": 15717,
                "loc": {
                  "start": {
                    "line": 418,
                    "column": 13
                  },
                  "end": {
                    "line": 420,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 15664,
                  "end": 15717,
                  "loc": {
                    "start": {
                      "line": 418,
                      "column": 16
                    },
                    "end": {
                      "line": 420,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 15674,
                      "end": 15711,
                      "loc": {
                        "start": {
                          "line": 419,
                          "column": 8
                        },
                        "end": {
                          "line": 419,
                          "column": 45
                        }
                      },
                      "argument": {
                        "type": "BinaryExpression",
                        "start": 15681,
                        "end": 15710,
                        "loc": {
                          "start": {
                            "line": 419,
                            "column": 15
                          },
                          "end": {
                            "line": 419,
                            "column": 44
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 15681,
                          "end": 15692,
                          "loc": {
                            "start": {
                              "line": 419,
                              "column": 15
                            },
                            "end": {
                              "line": 419,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 15681,
                            "end": 15685,
                            "loc": {
                              "start": {
                                "line": 419,
                                "column": 15
                              },
                              "end": {
                                "line": 419,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15686,
                            "end": 15692,
                            "loc": {
                              "start": {
                                "line": 419,
                                "column": 20
                              },
                              "end": {
                                "line": 419,
                                "column": 26
                              }
                            },
                            "name": "radius"
                          },
                          "computed": false
                        },
                        "operator": "*",
                        "right": {
                          "type": "CallExpression",
                          "start": 15695,
                          "end": 15710,
                          "loc": {
                            "start": {
                              "line": 419,
                              "column": 29
                            },
                            "end": {
                              "line": 419,
                              "column": 44
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 15695,
                            "end": 15708,
                            "loc": {
                              "start": {
                                "line": 419,
                                "column": 29
                              },
                              "end": {
                                "line": 419,
                                "column": 42
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 15695,
                              "end": 15699,
                              "loc": {
                                "start": {
                                  "line": 419,
                                  "column": 29
                                },
                                "end": {
                                  "line": 419,
                                  "column": 33
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15700,
                              "end": 15708,
                              "loc": {
                                "start": {
                                  "line": 419,
                                  "column": 34
                                },
                                "end": {
                                  "line": 419,
                                  "column": 42
                                }
                              },
                              "name": "getAngle"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 15723,
              "end": 16294,
              "loc": {
                "start": {
                  "line": 422,
                  "column": 4
                },
                "end": {
                  "line": 433,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 15729,
                "end": 15741,
                "loc": {
                  "start": {
                    "line": 422,
                    "column": 10
                  },
                  "end": {
                    "line": 422,
                    "column": 22
                  }
                },
                "name": "moveRelative"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 15741,
                "end": 16294,
                "loc": {
                  "start": {
                    "line": 422,
                    "column": 22
                  },
                  "end": {
                    "line": 433,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 15742,
                    "end": 15751,
                    "loc": {
                      "start": {
                        "line": 422,
                        "column": 23
                      },
                      "end": {
                        "line": 422,
                        "column": 32
                      }
                    },
                    "name": "direction"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 15753,
                  "end": 16294,
                  "loc": {
                    "start": {
                      "line": 422,
                      "column": 34
                    },
                    "end": {
                      "line": 433,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 15763,
                      "end": 15810,
                      "loc": {
                        "start": {
                          "line": 423,
                          "column": 8
                        },
                        "end": {
                          "line": 423,
                          "column": 55
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 15767,
                          "end": 15809,
                          "loc": {
                            "start": {
                              "line": 423,
                              "column": 12
                            },
                            "end": {
                              "line": 423,
                              "column": 54
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 15767,
                            "end": 15770,
                            "loc": {
                              "start": {
                                "line": 423,
                                "column": 12
                              },
                              "end": {
                                "line": 423,
                                "column": 15
                              }
                            },
                            "name": "pts"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 15773,
                            "end": 15809,
                            "loc": {
                              "start": {
                                "line": 423,
                                "column": 18
                              },
                              "end": {
                                "line": 423,
                                "column": 54
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 15773,
                              "end": 15791,
                              "loc": {
                                "start": {
                                  "line": 423,
                                  "column": 18
                                },
                                "end": {
                                  "line": 423,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 15773,
                                "end": 15784,
                                "loc": {
                                  "start": {
                                    "line": 423,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 423,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 15773,
                                  "end": 15777,
                                  "loc": {
                                    "start": {
                                      "line": 423,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 423,
                                      "column": 22
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15778,
                                  "end": 15784,
                                  "loc": {
                                    "start": {
                                      "line": 423,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 423,
                                      "column": 29
                                    }
                                  },
                                  "name": "points"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15785,
                                "end": 15791,
                                "loc": {
                                  "start": {
                                    "line": 423,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 423,
                                    "column": 36
                                  }
                                },
                                "name": "concat"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 15792,
                                "end": 15808,
                                "loc": {
                                  "start": {
                                    "line": 423,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 423,
                                    "column": 53
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 15792,
                                  "end": 15796,
                                  "loc": {
                                    "start": {
                                      "line": 423,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 423,
                                      "column": 41
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15797,
                                  "end": 15808,
                                  "loc": {
                                    "start": {
                                      "line": 423,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 423,
                                      "column": 53
                                    }
                                  },
                                  "name": "centerPoint"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " set positions directly (to avoid updating partially moved circle)",
                          "start": 15819,
                          "end": 15887,
                          "loc": {
                            "start": {
                              "line": 424,
                              "column": 8
                            },
                            "end": {
                              "line": 424,
                              "column": 76
                            }
                          },
                          "range": [
                            15819,
                            15887
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15896,
                      "end": 15940,
                      "loc": {
                        "start": {
                          "line": 425,
                          "column": 8
                        },
                        "end": {
                          "line": 425,
                          "column": 52
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 15896,
                        "end": 15939,
                        "loc": {
                          "start": {
                            "line": 425,
                            "column": 8
                          },
                          "end": {
                            "line": 425,
                            "column": 51
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 15896,
                          "end": 15907,
                          "loc": {
                            "start": {
                              "line": 425,
                              "column": 8
                            },
                            "end": {
                              "line": 425,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 15896,
                            "end": 15899,
                            "loc": {
                              "start": {
                                "line": 425,
                                "column": 8
                              },
                              "end": {
                                "line": 425,
                                "column": 11
                              }
                            },
                            "name": "pts",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15900,
                            "end": 15907,
                            "loc": {
                              "start": {
                                "line": 425,
                                "column": 12
                              },
                              "end": {
                                "line": 425,
                                "column": 19
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 15908,
                            "end": 15938,
                            "loc": {
                              "start": {
                                "line": 425,
                                "column": 20
                              },
                              "end": {
                                "line": 425,
                                "column": 50
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 15908,
                                "end": 15909,
                                "loc": {
                                  "start": {
                                    "line": 425,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 425,
                                    "column": 21
                                  }
                                },
                                "name": "p"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 15913,
                              "end": 15938,
                              "loc": {
                                "start": {
                                  "line": 425,
                                  "column": 25
                                },
                                "end": {
                                  "line": 425,
                                  "column": 50
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 15913,
                                "end": 15927,
                                "loc": {
                                  "start": {
                                    "line": 425,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 425,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 15913,
                                  "end": 15923,
                                  "loc": {
                                    "start": {
                                      "line": 425,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 425,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 15913,
                                    "end": 15914,
                                    "loc": {
                                      "start": {
                                        "line": 425,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 425,
                                        "column": 26
                                      }
                                    },
                                    "name": "p"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15915,
                                    "end": 15923,
                                    "loc": {
                                      "start": {
                                        "line": 425,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 425,
                                        "column": 35
                                      }
                                    },
                                    "name": "position"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15924,
                                  "end": 15927,
                                  "loc": {
                                    "start": {
                                      "line": 425,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 425,
                                      "column": 39
                                    }
                                  },
                                  "name": "add"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 15928,
                                  "end": 15937,
                                  "loc": {
                                    "start": {
                                      "line": 425,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 425,
                                      "column": 49
                                    }
                                  },
                                  "name": "direction"
                                }
                              ]
                            }
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " set positions directly (to avoid updating partially moved circle)",
                          "start": 15819,
                          "end": 15887,
                          "loc": {
                            "start": {
                              "line": 424,
                              "column": 8
                            },
                            "end": {
                              "line": 424,
                              "column": 76
                            }
                          },
                          "range": [
                            15819,
                            15887
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " update geometry after all points are moved",
                          "start": 15949,
                          "end": 15994,
                          "loc": {
                            "start": {
                              "line": 426,
                              "column": 8
                            },
                            "end": {
                              "line": 426,
                              "column": 53
                            }
                          },
                          "range": [
                            15949,
                            15994
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16003,
                      "end": 16025,
                      "loc": {
                        "start": {
                          "line": 427,
                          "column": 8
                        },
                        "end": {
                          "line": 427,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 16003,
                        "end": 16024,
                        "loc": {
                          "start": {
                            "line": 427,
                            "column": 8
                          },
                          "end": {
                            "line": 427,
                            "column": 29
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16003,
                          "end": 16022,
                          "loc": {
                            "start": {
                              "line": 427,
                              "column": 8
                            },
                            "end": {
                              "line": 427,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 16003,
                            "end": 16007,
                            "loc": {
                              "start": {
                                "line": 427,
                                "column": 8
                              },
                              "end": {
                                "line": 427,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16008,
                            "end": 16022,
                            "loc": {
                              "start": {
                                "line": 427,
                                "column": 13
                              },
                              "end": {
                                "line": 427,
                                "column": 27
                              }
                            },
                            "name": "updateGeometry"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " update geometry after all points are moved",
                          "start": 15949,
                          "end": 15994,
                          "loc": {
                            "start": {
                              "line": 426,
                              "column": 8
                            },
                            "end": {
                              "line": 426,
                              "column": 53
                            }
                          },
                          "range": [
                            15949,
                            15994
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "this.updateVisualization(); //TODO: why are endpoints not in sync otherwise?",
                          "start": 16034,
                          "end": 16112,
                          "loc": {
                            "start": {
                              "line": 428,
                              "column": 8
                            },
                            "end": {
                              "line": 428,
                              "column": 86
                            }
                          },
                          "range": [
                            16034,
                            16112
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " notify that all the points and the object were moved really",
                          "start": 16121,
                          "end": 16183,
                          "loc": {
                            "start": {
                              "line": 429,
                              "column": 8
                            },
                            "end": {
                              "line": 429,
                              "column": 70
                            }
                          },
                          "range": [
                            16121,
                            16183
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ForOfStatement",
                      "start": 16192,
                      "end": 16248,
                      "loc": {
                        "start": {
                          "line": 430,
                          "column": 8
                        },
                        "end": {
                          "line": 431,
                          "column": 37
                        }
                      },
                      "left": {
                        "type": "VariableDeclaration",
                        "start": 16197,
                        "end": 16202,
                        "loc": {
                          "start": {
                            "line": 430,
                            "column": 13
                          },
                          "end": {
                            "line": 430,
                            "column": 18
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 16201,
                            "end": 16202,
                            "loc": {
                              "start": {
                                "line": 430,
                                "column": 17
                              },
                              "end": {
                                "line": 430,
                                "column": 18
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 16201,
                              "end": 16202,
                              "loc": {
                                "start": {
                                  "line": 430,
                                  "column": 17
                                },
                                "end": {
                                  "line": 430,
                                  "column": 18
                                }
                              },
                              "name": "p",
                              "leadingComments": null
                            },
                            "init": null,
                            "leadingComments": null
                          }
                        ],
                        "kind": "let",
                        "leadingComments": null
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 16206,
                        "end": 16209,
                        "loc": {
                          "start": {
                            "line": 430,
                            "column": 22
                          },
                          "end": {
                            "line": 430,
                            "column": 25
                          }
                        },
                        "name": "pts"
                      },
                      "body": {
                        "type": "ExpressionStatement",
                        "start": 16223,
                        "end": 16248,
                        "loc": {
                          "start": {
                            "line": 431,
                            "column": 12
                          },
                          "end": {
                            "line": 431,
                            "column": 37
                          }
                        },
                        "expression": {
                          "type": "AwaitExpression",
                          "start": 16223,
                          "end": 16247,
                          "loc": {
                            "start": {
                              "line": 431,
                              "column": 12
                            },
                            "end": {
                              "line": 431,
                              "column": 36
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 16229,
                            "end": 16247,
                            "loc": {
                              "start": {
                                "line": 431,
                                "column": 18
                              },
                              "end": {
                                "line": 431,
                                "column": 36
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 16229,
                              "end": 16235,
                              "loc": {
                                "start": {
                                  "line": 431,
                                  "column": 18
                                },
                                "end": {
                                  "line": 431,
                                  "column": 24
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 16229,
                                "end": 16230,
                                "loc": {
                                  "start": {
                                    "line": 431,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 431,
                                    "column": 19
                                  }
                                },
                                "name": "p"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 16231,
                                "end": 16235,
                                "loc": {
                                  "start": {
                                    "line": 431,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 431,
                                    "column": 24
                                  }
                                },
                                "name": "emit"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 16236,
                                "end": 16243,
                                "loc": {
                                  "start": {
                                    "line": 431,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 431,
                                    "column": 32
                                  }
                                },
                                "value": "moved",
                                "rawValue": "moved",
                                "raw": "'moved'"
                              },
                              {
                                "type": "Identifier",
                                "start": 16245,
                                "end": 16246,
                                "loc": {
                                  "start": {
                                    "line": 431,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 431,
                                    "column": 35
                                  }
                                },
                                "name": "p"
                              }
                            ]
                          }
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "this.updateVisualization(); //TODO: why are endpoints not in sync otherwise?",
                          "start": 16034,
                          "end": 16112,
                          "loc": {
                            "start": {
                              "line": 428,
                              "column": 8
                            },
                            "end": {
                              "line": 428,
                              "column": 86
                            }
                          },
                          "range": [
                            16034,
                            16112
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " notify that all the points and the object were moved really",
                          "start": 16121,
                          "end": 16183,
                          "loc": {
                            "start": {
                              "line": 429,
                              "column": 8
                            },
                            "end": {
                              "line": 429,
                              "column": 70
                            }
                          },
                          "range": [
                            16121,
                            16183
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16257,
                      "end": 16288,
                      "loc": {
                        "start": {
                          "line": 432,
                          "column": 8
                        },
                        "end": {
                          "line": 432,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 16257,
                        "end": 16287,
                        "loc": {
                          "start": {
                            "line": 432,
                            "column": 8
                          },
                          "end": {
                            "line": 432,
                            "column": 38
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 16263,
                          "end": 16287,
                          "loc": {
                            "start": {
                              "line": 432,
                              "column": 14
                            },
                            "end": {
                              "line": 432,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 16263,
                            "end": 16272,
                            "loc": {
                              "start": {
                                "line": 432,
                                "column": 14
                              },
                              "end": {
                                "line": 432,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16263,
                              "end": 16267,
                              "loc": {
                                "start": {
                                  "line": 432,
                                  "column": 14
                                },
                                "end": {
                                  "line": 432,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16268,
                              "end": 16272,
                              "loc": {
                                "start": {
                                  "line": 432,
                                  "column": 19
                                },
                                "end": {
                                  "line": 432,
                                  "column": 23
                                }
                              },
                              "name": "emit"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 16273,
                              "end": 16280,
                              "loc": {
                                "start": {
                                  "line": 432,
                                  "column": 24
                                },
                                "end": {
                                  "line": 432,
                                  "column": 31
                                }
                              },
                              "value": "moved",
                              "rawValue": "moved",
                              "raw": "'moved'"
                            },
                            {
                              "type": "ThisExpression",
                              "start": 16282,
                              "end": 16286,
                              "loc": {
                                "start": {
                                  "line": 432,
                                  "column": 33
                                },
                                "end": {
                                  "line": 432,
                                  "column": 37
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "simultaneously modify several arc's parameters (without intermediate recalculations)",
                  "start": 16300,
                  "end": 16386,
                  "loc": {
                    "start": {
                      "line": 435,
                      "column": 4
                    },
                    "end": {
                      "line": 435,
                      "column": 90
                    }
                  },
                  "range": [
                    16300,
                    16386
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "one or more parameters can be undefined/null (meaning: do not change)",
                  "start": 16391,
                  "end": 16462,
                  "loc": {
                    "start": {
                      "line": 436,
                      "column": 4
                    },
                    "end": {
                      "line": 436,
                      "column": 75
                    }
                  },
                  "range": [
                    16391,
                    16462
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 16467,
              "end": 16810,
              "loc": {
                "start": {
                  "line": 437,
                  "column": 4
                },
                "end": {
                  "line": 447,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 16467,
                "end": 16473,
                "loc": {
                  "start": {
                    "line": 437,
                    "column": 4
                  },
                  "end": {
                    "line": 437,
                    "column": 10
                  }
                },
                "name": "modify",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 16473,
                "end": 16810,
                "loc": {
                  "start": {
                    "line": 437,
                    "column": 10
                  },
                  "end": {
                    "line": 447,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 16474,
                    "end": 16479,
                    "loc": {
                      "start": {
                        "line": 437,
                        "column": 11
                      },
                      "end": {
                        "line": 437,
                        "column": 16
                      }
                    },
                    "name": "start"
                  },
                  {
                    "type": "Identifier",
                    "start": 16481,
                    "end": 16484,
                    "loc": {
                      "start": {
                        "line": 437,
                        "column": 18
                      },
                      "end": {
                        "line": 437,
                        "column": 21
                      }
                    },
                    "name": "end"
                  },
                  {
                    "type": "Identifier",
                    "start": 16486,
                    "end": 16492,
                    "loc": {
                      "start": {
                        "line": 437,
                        "column": 23
                      },
                      "end": {
                        "line": 437,
                        "column": 29
                      }
                    },
                    "name": "center"
                  },
                  {
                    "type": "Identifier",
                    "start": 16494,
                    "end": 16503,
                    "loc": {
                      "start": {
                        "line": 437,
                        "column": 31
                      },
                      "end": {
                        "line": 437,
                        "column": 40
                      }
                    },
                    "name": "clockwise"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 16505,
                  "end": 16810,
                  "loc": {
                    "start": {
                      "line": 437,
                      "column": 42
                    },
                    "end": {
                      "line": 447,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 16515,
                      "end": 16574,
                      "loc": {
                        "start": {
                          "line": 438,
                          "column": 8
                        },
                        "end": {
                          "line": 439,
                          "column": 48
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 16519,
                        "end": 16524,
                        "loc": {
                          "start": {
                            "line": 438,
                            "column": 12
                          },
                          "end": {
                            "line": 438,
                            "column": 17
                          }
                        },
                        "name": "start"
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 16538,
                        "end": 16574,
                        "loc": {
                          "start": {
                            "line": 439,
                            "column": 12
                          },
                          "end": {
                            "line": 439,
                            "column": 48
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 16538,
                          "end": 16573,
                          "loc": {
                            "start": {
                              "line": 439,
                              "column": 12
                            },
                            "end": {
                              "line": 439,
                              "column": 47
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 16538,
                            "end": 16566,
                            "loc": {
                              "start": {
                                "line": 439,
                                "column": 12
                              },
                              "end": {
                                "line": 439,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 16538,
                              "end": 16561,
                              "loc": {
                                "start": {
                                  "line": 439,
                                  "column": 12
                                },
                                "end": {
                                  "line": 439,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 16538,
                                "end": 16552,
                                "loc": {
                                  "start": {
                                    "line": 439,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 439,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 16538,
                                  "end": 16549,
                                  "loc": {
                                    "start": {
                                      "line": 439,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 439,
                                      "column": 23
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 16538,
                                    "end": 16542,
                                    "loc": {
                                      "start": {
                                        "line": 439,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 439,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 16543,
                                    "end": 16549,
                                    "loc": {
                                      "start": {
                                        "line": 439,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 439,
                                        "column": 23
                                      }
                                    },
                                    "name": "points"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 16550,
                                  "end": 16551,
                                  "loc": {
                                    "start": {
                                      "line": 439,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 439,
                                      "column": 25
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "computed": true
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 16553,
                                "end": 16561,
                                "loc": {
                                  "start": {
                                    "line": 439,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 439,
                                    "column": 35
                                  }
                                },
                                "name": "position"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16562,
                              "end": 16566,
                              "loc": {
                                "start": {
                                  "line": 439,
                                  "column": 36
                                },
                                "end": {
                                  "line": 439,
                                  "column": 40
                                }
                              },
                              "name": "copy"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 16567,
                              "end": 16572,
                              "loc": {
                                "start": {
                                  "line": 439,
                                  "column": 41
                                },
                                "end": {
                                  "line": 439,
                                  "column": 46
                                }
                              },
                              "name": "start"
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 16583,
                      "end": 16638,
                      "loc": {
                        "start": {
                          "line": 440,
                          "column": 8
                        },
                        "end": {
                          "line": 441,
                          "column": 46
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 16587,
                        "end": 16590,
                        "loc": {
                          "start": {
                            "line": 440,
                            "column": 12
                          },
                          "end": {
                            "line": 440,
                            "column": 15
                          }
                        },
                        "name": "end"
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 16604,
                        "end": 16638,
                        "loc": {
                          "start": {
                            "line": 441,
                            "column": 12
                          },
                          "end": {
                            "line": 441,
                            "column": 46
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 16604,
                          "end": 16637,
                          "loc": {
                            "start": {
                              "line": 441,
                              "column": 12
                            },
                            "end": {
                              "line": 441,
                              "column": 45
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 16604,
                            "end": 16632,
                            "loc": {
                              "start": {
                                "line": 441,
                                "column": 12
                              },
                              "end": {
                                "line": 441,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 16604,
                              "end": 16627,
                              "loc": {
                                "start": {
                                  "line": 441,
                                  "column": 12
                                },
                                "end": {
                                  "line": 441,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 16604,
                                "end": 16618,
                                "loc": {
                                  "start": {
                                    "line": 441,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 441,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 16604,
                                  "end": 16615,
                                  "loc": {
                                    "start": {
                                      "line": 441,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 441,
                                      "column": 23
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 16604,
                                    "end": 16608,
                                    "loc": {
                                      "start": {
                                        "line": 441,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 441,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 16609,
                                    "end": 16615,
                                    "loc": {
                                      "start": {
                                        "line": 441,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 441,
                                        "column": 23
                                      }
                                    },
                                    "name": "points"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 16616,
                                  "end": 16617,
                                  "loc": {
                                    "start": {
                                      "line": 441,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 441,
                                      "column": 25
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                "computed": true
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 16619,
                                "end": 16627,
                                "loc": {
                                  "start": {
                                    "line": 441,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 441,
                                    "column": 35
                                  }
                                },
                                "name": "position"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16628,
                              "end": 16632,
                              "loc": {
                                "start": {
                                  "line": 441,
                                  "column": 36
                                },
                                "end": {
                                  "line": 441,
                                  "column": 40
                                }
                              },
                              "name": "copy"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 16633,
                              "end": 16636,
                              "loc": {
                                "start": {
                                  "line": 441,
                                  "column": 41
                                },
                                "end": {
                                  "line": 441,
                                  "column": 44
                                }
                              },
                              "name": "end"
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 16647,
                      "end": 16710,
                      "loc": {
                        "start": {
                          "line": 442,
                          "column": 8
                        },
                        "end": {
                          "line": 443,
                          "column": 51
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 16651,
                        "end": 16657,
                        "loc": {
                          "start": {
                            "line": 442,
                            "column": 12
                          },
                          "end": {
                            "line": 442,
                            "column": 18
                          }
                        },
                        "name": "center"
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 16671,
                        "end": 16710,
                        "loc": {
                          "start": {
                            "line": 443,
                            "column": 12
                          },
                          "end": {
                            "line": 443,
                            "column": 51
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 16671,
                          "end": 16709,
                          "loc": {
                            "start": {
                              "line": 443,
                              "column": 12
                            },
                            "end": {
                              "line": 443,
                              "column": 50
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 16671,
                            "end": 16701,
                            "loc": {
                              "start": {
                                "line": 443,
                                "column": 12
                              },
                              "end": {
                                "line": 443,
                                "column": 42
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 16671,
                              "end": 16696,
                              "loc": {
                                "start": {
                                  "line": 443,
                                  "column": 12
                                },
                                "end": {
                                  "line": 443,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 16671,
                                "end": 16687,
                                "loc": {
                                  "start": {
                                    "line": 443,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 443,
                                    "column": 28
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 16671,
                                  "end": 16675,
                                  "loc": {
                                    "start": {
                                      "line": 443,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 443,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 16676,
                                  "end": 16687,
                                  "loc": {
                                    "start": {
                                      "line": 443,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 443,
                                      "column": 28
                                    }
                                  },
                                  "name": "centerPoint"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 16688,
                                "end": 16696,
                                "loc": {
                                  "start": {
                                    "line": 443,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 443,
                                    "column": 37
                                  }
                                },
                                "name": "position"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16697,
                              "end": 16701,
                              "loc": {
                                "start": {
                                  "line": 443,
                                  "column": 38
                                },
                                "end": {
                                  "line": 443,
                                  "column": 42
                                }
                              },
                              "name": "copy"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 16702,
                              "end": 16708,
                              "loc": {
                                "start": {
                                  "line": 443,
                                  "column": 43
                                },
                                "end": {
                                  "line": 443,
                                  "column": 49
                                }
                              },
                              "name": "center"
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 16719,
                      "end": 16773,
                      "loc": {
                        "start": {
                          "line": 444,
                          "column": 8
                        },
                        "end": {
                          "line": 445,
                          "column": 39
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 16723,
                        "end": 16732,
                        "loc": {
                          "start": {
                            "line": 444,
                            "column": 12
                          },
                          "end": {
                            "line": 444,
                            "column": 21
                          }
                        },
                        "name": "clockwise"
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 16746,
                        "end": 16773,
                        "loc": {
                          "start": {
                            "line": 445,
                            "column": 12
                          },
                          "end": {
                            "line": 445,
                            "column": 39
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 16746,
                          "end": 16772,
                          "loc": {
                            "start": {
                              "line": 445,
                              "column": 12
                            },
                            "end": {
                              "line": 445,
                              "column": 38
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 16746,
                            "end": 16760,
                            "loc": {
                              "start": {
                                "line": 445,
                                "column": 12
                              },
                              "end": {
                                "line": 445,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16746,
                              "end": 16750,
                              "loc": {
                                "start": {
                                  "line": 445,
                                  "column": 12
                                },
                                "end": {
                                  "line": 445,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16751,
                              "end": 16760,
                              "loc": {
                                "start": {
                                  "line": 445,
                                  "column": 17
                                },
                                "end": {
                                  "line": 445,
                                  "column": 26
                                }
                              },
                              "name": "clockwise"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Identifier",
                            "start": 16763,
                            "end": 16772,
                            "loc": {
                              "start": {
                                "line": 445,
                                "column": 29
                              },
                              "end": {
                                "line": 445,
                                "column": 38
                              }
                            },
                            "name": "clockwise"
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16782,
                      "end": 16804,
                      "loc": {
                        "start": {
                          "line": 446,
                          "column": 8
                        },
                        "end": {
                          "line": 446,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 16782,
                        "end": 16803,
                        "loc": {
                          "start": {
                            "line": 446,
                            "column": 8
                          },
                          "end": {
                            "line": 446,
                            "column": 29
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16782,
                          "end": 16801,
                          "loc": {
                            "start": {
                              "line": 446,
                              "column": 8
                            },
                            "end": {
                              "line": 446,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 16782,
                            "end": 16786,
                            "loc": {
                              "start": {
                                "line": 446,
                                "column": 8
                              },
                              "end": {
                                "line": 446,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16787,
                            "end": 16801,
                            "loc": {
                              "start": {
                                "line": 446,
                                "column": 13
                              },
                              "end": {
                                "line": 446,
                                "column": 27
                              }
                            },
                            "name": "updateGeometry"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "simultaneously modify several arc's parameters (without intermediate recalculations)",
                  "start": 16300,
                  "end": 16386,
                  "loc": {
                    "start": {
                      "line": 435,
                      "column": 4
                    },
                    "end": {
                      "line": 435,
                      "column": 90
                    }
                  },
                  "range": [
                    16300,
                    16386
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "one or more parameters can be undefined/null (meaning: do not change)",
                  "start": 16391,
                  "end": 16462,
                  "loc": {
                    "start": {
                      "line": 436,
                      "column": 4
                    },
                    "end": {
                      "line": 436,
                      "column": 75
                    }
                  },
                  "range": [
                    16391,
                    16462
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 16816,
              "end": 17060,
              "loc": {
                "start": {
                  "line": 449,
                  "column": 4
                },
                "end": {
                  "line": 455,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 16822,
                "end": 16829,
                "loc": {
                  "start": {
                    "line": 449,
                    "column": 10
                  },
                  "end": {
                    "line": 449,
                    "column": 17
                  }
                },
                "name": "endDrag"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 16829,
                "end": 17060,
                "loc": {
                  "start": {
                    "line": 449,
                    "column": 17
                  },
                  "end": {
                    "line": 455,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 16830,
                    "end": 16836,
                    "loc": {
                      "start": {
                        "line": 449,
                        "column": 18
                      },
                      "end": {
                        "line": 449,
                        "column": 24
                      }
                    },
                    "name": "sketch"
                  },
                  {
                    "type": "Identifier",
                    "start": 16838,
                    "end": 16844,
                    "loc": {
                      "start": {
                        "line": 449,
                        "column": 26
                      },
                      "end": {
                        "line": 449,
                        "column": 32
                      }
                    },
                    "name": "server"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 16846,
                  "end": 17060,
                  "loc": {
                    "start": {
                      "line": 449,
                      "column": 34
                    },
                    "end": {
                      "line": 455,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 16856,
                      "end": 17002,
                      "loc": {
                        "start": {
                          "line": 450,
                          "column": 8
                        },
                        "end": {
                          "line": 453,
                          "column": 14
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 16860,
                        "end": 16883,
                        "loc": {
                          "start": {
                            "line": 450,
                            "column": 12
                          },
                          "end": {
                            "line": 450,
                            "column": 35
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16860,
                          "end": 16877,
                          "loc": {
                            "start": {
                              "line": 450,
                              "column": 12
                            },
                            "end": {
                              "line": 450,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 16860,
                            "end": 16866,
                            "loc": {
                              "start": {
                                "line": 450,
                                "column": 12
                              },
                              "end": {
                                "line": 450,
                                "column": 18
                              }
                            },
                            "name": "sketch"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16867,
                            "end": 16877,
                            "loc": {
                              "start": {
                                "line": 450,
                                "column": 19
                              },
                              "end": {
                                "line": 450,
                                "column": 29
                              }
                            },
                            "name": "isOnSketch"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 16878,
                            "end": 16882,
                            "loc": {
                              "start": {
                                "line": 450,
                                "column": 30
                              },
                              "end": {
                                "line": 450,
                                "column": 34
                              }
                            }
                          }
                        ]
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 16897,
                        "end": 17002,
                        "loc": {
                          "start": {
                            "line": 451,
                            "column": 12
                          },
                          "end": {
                            "line": 453,
                            "column": 14
                          }
                        },
                        "expression": {
                          "type": "AwaitExpression",
                          "start": 16897,
                          "end": 17002,
                          "loc": {
                            "start": {
                              "line": 451,
                              "column": 12
                            },
                            "end": {
                              "line": 453,
                              "column": 14
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 16903,
                            "end": 17002,
                            "loc": {
                              "start": {
                                "line": 451,
                                "column": 18
                              },
                              "end": {
                                "line": 453,
                                "column": 14
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 16903,
                              "end": 16926,
                              "loc": {
                                "start": {
                                  "line": 451,
                                  "column": 18
                                },
                                "end": {
                                  "line": 451,
                                  "column": 41
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 16903,
                                "end": 16909,
                                "loc": {
                                  "start": {
                                    "line": 451,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 451,
                                    "column": 24
                                  }
                                },
                                "name": "sketch"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 16910,
                                "end": 16926,
                                "loc": {
                                  "start": {
                                    "line": 451,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 451,
                                    "column": 41
                                  }
                                },
                                "name": "updateFromServer"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 16927,
                                "end": 16933,
                                "loc": {
                                  "start": {
                                    "line": 451,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 451,
                                    "column": 48
                                  }
                                },
                                "name": "server"
                              },
                              {
                                "type": "ArrayExpression",
                                "start": 16935,
                                "end": 17001,
                                "loc": {
                                  "start": {
                                    "line": 451,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 453,
                                    "column": 13
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "CallExpression",
                                    "start": 16953,
                                    "end": 16987,
                                    "loc": {
                                      "start": {
                                        "line": 452,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 452,
                                        "column": 50
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 16953,
                                      "end": 16979,
                                      "loc": {
                                        "start": {
                                          "line": 452,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 452,
                                          "column": 42
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 16953,
                                        "end": 16957,
                                        "loc": {
                                          "start": {
                                            "line": 452,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 452,
                                            "column": 20
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 16958,
                                        "end": 16979,
                                        "loc": {
                                          "start": {
                                            "line": 452,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 452,
                                            "column": 42
                                          }
                                        },
                                        "name": "prepareUpdateToServer"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 16980,
                                        "end": 16986,
                                        "loc": {
                                          "start": {
                                            "line": 452,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 452,
                                            "column": 49
                                          }
                                        },
                                        "name": "sketch"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17011,
                      "end": 17054,
                      "loc": {
                        "start": {
                          "line": 454,
                          "column": 8
                        },
                        "end": {
                          "line": 454,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 17011,
                        "end": 17053,
                        "loc": {
                          "start": {
                            "line": 454,
                            "column": 8
                          },
                          "end": {
                            "line": 454,
                            "column": 50
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 17017,
                          "end": 17053,
                          "loc": {
                            "start": {
                              "line": 454,
                              "column": 14
                            },
                            "end": {
                              "line": 454,
                              "column": 50
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 17017,
                            "end": 17026,
                            "loc": {
                              "start": {
                                "line": 454,
                                "column": 14
                              },
                              "end": {
                                "line": 454,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 17017,
                              "end": 17021,
                              "loc": {
                                "start": {
                                  "line": 454,
                                  "column": 14
                                },
                                "end": {
                                  "line": 454,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17022,
                              "end": 17026,
                              "loc": {
                                "start": {
                                  "line": 454,
                                  "column": 19
                                },
                                "end": {
                                  "line": 454,
                                  "column": 23
                                }
                              },
                              "name": "emit"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 17027,
                              "end": 17036,
                              "loc": {
                                "start": {
                                  "line": 454,
                                  "column": 24
                                },
                                "end": {
                                  "line": 454,
                                  "column": 33
                                }
                              },
                              "value": "dragend",
                              "rawValue": "dragend",
                              "raw": "'dragend'"
                            },
                            {
                              "type": "Identifier",
                              "start": 17038,
                              "end": 17044,
                              "loc": {
                                "start": {
                                  "line": 454,
                                  "column": 35
                                },
                                "end": {
                                  "line": 454,
                                  "column": 41
                                }
                              },
                              "name": "sketch"
                            },
                            {
                              "type": "Identifier",
                              "start": 17046,
                              "end": 17052,
                              "loc": {
                                "start": {
                                  "line": 454,
                                  "column": 43
                                },
                                "end": {
                                  "line": 454,
                                  "column": 49
                                }
                              },
                              "name": "server"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 17066,
              "end": 17262,
              "loc": {
                "start": {
                  "line": 457,
                  "column": 4
                },
                "end": {
                  "line": 461,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 17066,
                "end": 17076,
                "loc": {
                  "start": {
                    "line": 457,
                    "column": 4
                  },
                  "end": {
                    "line": 457,
                    "column": 14
                  }
                },
                "name": "setVisible"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 17076,
                "end": 17262,
                "loc": {
                  "start": {
                    "line": 457,
                    "column": 14
                  },
                  "end": {
                    "line": 461,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 17077,
                    "end": 17087,
                    "loc": {
                      "start": {
                        "line": 457,
                        "column": 15
                      },
                      "end": {
                        "line": 457,
                        "column": 25
                      }
                    },
                    "name": "visibility"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 17089,
                  "end": 17262,
                  "loc": {
                    "start": {
                      "line": 457,
                      "column": 27
                    },
                    "end": {
                      "line": 461,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 17099,
                      "end": 17139,
                      "loc": {
                        "start": {
                          "line": 458,
                          "column": 8
                        },
                        "end": {
                          "line": 458,
                          "column": 48
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17099,
                        "end": 17138,
                        "loc": {
                          "start": {
                            "line": 458,
                            "column": 8
                          },
                          "end": {
                            "line": 458,
                            "column": 47
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17099,
                          "end": 17125,
                          "loc": {
                            "start": {
                              "line": 458,
                              "column": 8
                            },
                            "end": {
                              "line": 458,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 17099,
                            "end": 17117,
                            "loc": {
                              "start": {
                                "line": 458,
                                "column": 8
                              },
                              "end": {
                                "line": 458,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 17099,
                              "end": 17108,
                              "loc": {
                                "start": {
                                  "line": 458,
                                  "column": 8
                                },
                                "end": {
                                  "line": 458,
                                  "column": 17
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 17099,
                                "end": 17103,
                                "loc": {
                                  "start": {
                                    "line": 458,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 458,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 17104,
                                "end": 17108,
                                "loc": {
                                  "start": {
                                    "line": 458,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 458,
                                    "column": 17
                                  }
                                },
                                "name": "mesh"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17109,
                              "end": 17117,
                              "loc": {
                                "start": {
                                  "line": 458,
                                  "column": 18
                                },
                                "end": {
                                  "line": 458,
                                  "column": 26
                                }
                              },
                              "name": "material"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17118,
                            "end": 17125,
                            "loc": {
                              "start": {
                                "line": 458,
                                "column": 27
                              },
                              "end": {
                                "line": 458,
                                "column": 34
                              }
                            },
                            "name": "visible"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 17128,
                          "end": 17138,
                          "loc": {
                            "start": {
                              "line": 458,
                              "column": 37
                            },
                            "end": {
                              "line": 458,
                              "column": 47
                            }
                          },
                          "name": "visibility"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17148,
                      "end": 17207,
                      "loc": {
                        "start": {
                          "line": 459,
                          "column": 8
                        },
                        "end": {
                          "line": 459,
                          "column": 67
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 17148,
                        "end": 17206,
                        "loc": {
                          "start": {
                            "line": 459,
                            "column": 8
                          },
                          "end": {
                            "line": 459,
                            "column": 66
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 17148,
                          "end": 17167,
                          "loc": {
                            "start": {
                              "line": 459,
                              "column": 8
                            },
                            "end": {
                              "line": 459,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 17148,
                            "end": 17159,
                            "loc": {
                              "start": {
                                "line": 459,
                                "column": 8
                              },
                              "end": {
                                "line": 459,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 17148,
                              "end": 17152,
                              "loc": {
                                "start": {
                                  "line": 459,
                                  "column": 8
                                },
                                "end": {
                                  "line": 459,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17153,
                              "end": 17159,
                              "loc": {
                                "start": {
                                  "line": 459,
                                  "column": 13
                                },
                                "end": {
                                  "line": 459,
                                  "column": 19
                                }
                              },
                              "name": "points"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17160,
                            "end": 17167,
                            "loc": {
                              "start": {
                                "line": 459,
                                "column": 20
                              },
                              "end": {
                                "line": 459,
                                "column": 27
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 17168,
                            "end": 17205,
                            "loc": {
                              "start": {
                                "line": 459,
                                "column": 28
                              },
                              "end": {
                                "line": 459,
                                "column": 65
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 17168,
                                "end": 17173,
                                "loc": {
                                  "start": {
                                    "line": 459,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 459,
                                    "column": 33
                                  }
                                },
                                "name": "point"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 17177,
                              "end": 17205,
                              "loc": {
                                "start": {
                                  "line": 459,
                                  "column": 37
                                },
                                "end": {
                                  "line": 459,
                                  "column": 65
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 17177,
                                "end": 17193,
                                "loc": {
                                  "start": {
                                    "line": 459,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 459,
                                    "column": 53
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 17177,
                                  "end": 17182,
                                  "loc": {
                                    "start": {
                                      "line": 459,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 459,
                                      "column": 42
                                    }
                                  },
                                  "name": "point"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 17183,
                                  "end": 17193,
                                  "loc": {
                                    "start": {
                                      "line": 459,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 459,
                                      "column": 53
                                    }
                                  },
                                  "name": "setVisible"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 17194,
                                  "end": 17204,
                                  "loc": {
                                    "start": {
                                      "line": 459,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 459,
                                      "column": 64
                                    }
                                  },
                                  "name": "visibility"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17216,
                      "end": 17256,
                      "loc": {
                        "start": {
                          "line": 460,
                          "column": 8
                        },
                        "end": {
                          "line": 460,
                          "column": 48
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 17216,
                        "end": 17255,
                        "loc": {
                          "start": {
                            "line": 460,
                            "column": 8
                          },
                          "end": {
                            "line": 460,
                            "column": 47
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 17216,
                          "end": 17243,
                          "loc": {
                            "start": {
                              "line": 460,
                              "column": 8
                            },
                            "end": {
                              "line": 460,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 17216,
                            "end": 17232,
                            "loc": {
                              "start": {
                                "line": 460,
                                "column": 8
                              },
                              "end": {
                                "line": 460,
                                "column": 24
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 17216,
                              "end": 17220,
                              "loc": {
                                "start": {
                                  "line": 460,
                                  "column": 8
                                },
                                "end": {
                                  "line": 460,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17221,
                              "end": 17232,
                              "loc": {
                                "start": {
                                  "line": 460,
                                  "column": 13
                                },
                                "end": {
                                  "line": 460,
                                  "column": 24
                                }
                              },
                              "name": "centerPoint"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17233,
                            "end": 17243,
                            "loc": {
                              "start": {
                                "line": 460,
                                "column": 25
                              },
                              "end": {
                                "line": 460,
                                "column": 35
                              }
                            },
                            "name": "setVisible"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 17244,
                            "end": 17254,
                            "loc": {
                              "start": {
                                "line": 460,
                                "column": 36
                              },
                              "end": {
                                "line": 460,
                                "column": 46
                              }
                            },
                            "name": "visibility"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 17268,
              "end": 19137,
              "loc": {
                "start": {
                  "line": 463,
                  "column": 4
                },
                "end": {
                  "line": 497,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 17268,
                "end": 17282,
                "loc": {
                  "start": {
                    "line": 463,
                    "column": 4
                  },
                  "end": {
                    "line": 463,
                    "column": 18
                  }
                },
                "name": "updateGeometry"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 17282,
                "end": 19137,
                "loc": {
                  "start": {
                    "line": 463,
                    "column": 18
                  },
                  "end": {
                    "line": 497,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 17283,
                    "end": 17293,
                    "loc": {
                      "start": {
                        "line": 463,
                        "column": 19
                      },
                      "end": {
                        "line": 463,
                        "column": 29
                      }
                    },
                    "name": "movedPoint"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 17295,
                  "end": 19137,
                  "loc": {
                    "start": {
                      "line": 463,
                      "column": 31
                    },
                    "end": {
                      "line": 497,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 17305,
                      "end": 17847,
                      "loc": {
                        "start": {
                          "line": 464,
                          "column": 8
                        },
                        "end": {
                          "line": 471,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 17309,
                        "end": 17340,
                        "loc": {
                          "start": {
                            "line": 464,
                            "column": 12
                          },
                          "end": {
                            "line": 464,
                            "column": 43
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 17309,
                          "end": 17319,
                          "loc": {
                            "start": {
                              "line": 464,
                              "column": 12
                            },
                            "end": {
                              "line": 464,
                              "column": 22
                            }
                          },
                          "name": "movedPoint"
                        },
                        "operator": "===",
                        "right": {
                          "type": "MemberExpression",
                          "start": 17324,
                          "end": 17340,
                          "loc": {
                            "start": {
                              "line": 464,
                              "column": 27
                            },
                            "end": {
                              "line": 464,
                              "column": 43
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 17324,
                            "end": 17328,
                            "loc": {
                              "start": {
                                "line": 464,
                                "column": 27
                              },
                              "end": {
                                "line": 464,
                                "column": 31
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17329,
                            "end": 17340,
                            "loc": {
                              "start": {
                                "line": 464,
                                "column": 32
                              },
                              "end": {
                                "line": 464,
                                "column": 43
                              }
                            },
                            "name": "centerPoint"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 17342,
                        "end": 17847,
                        "loc": {
                          "start": {
                            "line": 464,
                            "column": 45
                          },
                          "end": {
                            "line": 471,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 17356,
                            "end": 17443,
                            "loc": {
                              "start": {
                                "line": 465,
                                "column": 12
                              },
                              "end": {
                                "line": 465,
                                "column": 99
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 17360,
                                "end": 17442,
                                "loc": {
                                  "start": {
                                    "line": 465,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 465,
                                    "column": 98
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 17360,
                                  "end": 17363,
                                  "loc": {
                                    "start": {
                                      "line": 465,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 465,
                                      "column": 19
                                    }
                                  },
                                  "name": "mid"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 17366,
                                  "end": 17442,
                                  "loc": {
                                    "start": {
                                      "line": 465,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 465,
                                      "column": 98
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 17366,
                                    "end": 17439,
                                    "loc": {
                                      "start": {
                                        "line": 465,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 465,
                                        "column": 95
                                      }
                                    },
                                    "object": {
                                      "type": "CallExpression",
                                      "start": 17366,
                                      "end": 17426,
                                      "loc": {
                                        "start": {
                                          "line": 465,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 465,
                                          "column": 82
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 17366,
                                        "end": 17401,
                                        "loc": {
                                          "start": {
                                            "line": 465,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 465,
                                            "column": 57
                                          }
                                        },
                                        "object": {
                                          "type": "CallExpression",
                                          "start": 17366,
                                          "end": 17397,
                                          "loc": {
                                            "start": {
                                              "line": 465,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 465,
                                              "column": 53
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 17366,
                                            "end": 17395,
                                            "loc": {
                                              "start": {
                                                "line": 465,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 465,
                                                "column": 51
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 17366,
                                              "end": 17389,
                                              "loc": {
                                                "start": {
                                                  "line": 465,
                                                  "column": 22
                                                },
                                                "end": {
                                                  "line": 465,
                                                  "column": 45
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 17366,
                                                "end": 17380,
                                                "loc": {
                                                  "start": {
                                                    "line": 465,
                                                    "column": 22
                                                  },
                                                  "end": {
                                                    "line": 465,
                                                    "column": 36
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 17366,
                                                  "end": 17377,
                                                  "loc": {
                                                    "start": {
                                                      "line": 465,
                                                      "column": 22
                                                    },
                                                    "end": {
                                                      "line": 465,
                                                      "column": 33
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 17366,
                                                    "end": 17370,
                                                    "loc": {
                                                      "start": {
                                                        "line": 465,
                                                        "column": 22
                                                      },
                                                      "end": {
                                                        "line": 465,
                                                        "column": 26
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 17371,
                                                    "end": 17377,
                                                    "loc": {
                                                      "start": {
                                                        "line": 465,
                                                        "column": 27
                                                      },
                                                      "end": {
                                                        "line": 465,
                                                        "column": 33
                                                      }
                                                    },
                                                    "name": "points"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Literal",
                                                  "start": 17378,
                                                  "end": 17379,
                                                  "loc": {
                                                    "start": {
                                                      "line": 465,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 465,
                                                      "column": 35
                                                    }
                                                  },
                                                  "value": 1,
                                                  "rawValue": 1,
                                                  "raw": "1"
                                                },
                                                "computed": true
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 17381,
                                                "end": 17389,
                                                "loc": {
                                                  "start": {
                                                    "line": 465,
                                                    "column": 37
                                                  },
                                                  "end": {
                                                    "line": 465,
                                                    "column": 45
                                                  }
                                                },
                                                "name": "position"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 17390,
                                              "end": 17395,
                                              "loc": {
                                                "start": {
                                                  "line": 465,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 465,
                                                  "column": 51
                                                }
                                              },
                                              "name": "clone"
                                            },
                                            "computed": false
                                          },
                                          "arguments": []
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 17398,
                                          "end": 17401,
                                          "loc": {
                                            "start": {
                                              "line": 465,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 465,
                                              "column": 57
                                            }
                                          },
                                          "name": "add"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "start": 17402,
                                          "end": 17425,
                                          "loc": {
                                            "start": {
                                              "line": 465,
                                              "column": 58
                                            },
                                            "end": {
                                              "line": 465,
                                              "column": 81
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 17402,
                                            "end": 17416,
                                            "loc": {
                                              "start": {
                                                "line": 465,
                                                "column": 58
                                              },
                                              "end": {
                                                "line": 465,
                                                "column": 72
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 17402,
                                              "end": 17413,
                                              "loc": {
                                                "start": {
                                                  "line": 465,
                                                  "column": 58
                                                },
                                                "end": {
                                                  "line": 465,
                                                  "column": 69
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 17402,
                                                "end": 17406,
                                                "loc": {
                                                  "start": {
                                                    "line": 465,
                                                    "column": 58
                                                  },
                                                  "end": {
                                                    "line": 465,
                                                    "column": 62
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 17407,
                                                "end": 17413,
                                                "loc": {
                                                  "start": {
                                                    "line": 465,
                                                    "column": 63
                                                  },
                                                  "end": {
                                                    "line": 465,
                                                    "column": 69
                                                  }
                                                },
                                                "name": "points"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Literal",
                                              "start": 17414,
                                              "end": 17415,
                                              "loc": {
                                                "start": {
                                                  "line": 465,
                                                  "column": 70
                                                },
                                                "end": {
                                                  "line": 465,
                                                  "column": 71
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            },
                                            "computed": true
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 17417,
                                            "end": 17425,
                                            "loc": {
                                              "start": {
                                                "line": 465,
                                                "column": 73
                                              },
                                              "end": {
                                                "line": 465,
                                                "column": 81
                                              }
                                            },
                                            "name": "position"
                                          },
                                          "computed": false
                                        }
                                      ]
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 17427,
                                      "end": 17439,
                                      "loc": {
                                        "start": {
                                          "line": 465,
                                          "column": 83
                                        },
                                        "end": {
                                          "line": 465,
                                          "column": 95
                                        }
                                      },
                                      "name": "divideScalar"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Literal",
                                      "start": 17440,
                                      "end": 17441,
                                      "loc": {
                                        "start": {
                                          "line": 465,
                                          "column": 96
                                        },
                                        "end": {
                                          "line": 465,
                                          "column": 97
                                        }
                                      },
                                      "value": 2,
                                      "rawValue": 2,
                                      "raw": "2"
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 17456,
                            "end": 17527,
                            "loc": {
                              "start": {
                                "line": 466,
                                "column": 12
                              },
                              "end": {
                                "line": 466,
                                "column": 83
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 17460,
                                "end": 17526,
                                "loc": {
                                  "start": {
                                    "line": 466,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 466,
                                    "column": 82
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 17460,
                                  "end": 17463,
                                  "loc": {
                                    "start": {
                                      "line": 466,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 466,
                                      "column": 19
                                    }
                                  },
                                  "name": "dir"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 17466,
                                  "end": 17526,
                                  "loc": {
                                    "start": {
                                      "line": 466,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 466,
                                      "column": 82
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 17466,
                                    "end": 17501,
                                    "loc": {
                                      "start": {
                                        "line": 466,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 466,
                                        "column": 57
                                      }
                                    },
                                    "object": {
                                      "type": "CallExpression",
                                      "start": 17466,
                                      "end": 17497,
                                      "loc": {
                                        "start": {
                                          "line": 466,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 466,
                                          "column": 53
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 17466,
                                        "end": 17495,
                                        "loc": {
                                          "start": {
                                            "line": 466,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 466,
                                            "column": 51
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 17466,
                                          "end": 17489,
                                          "loc": {
                                            "start": {
                                              "line": 466,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 466,
                                              "column": 45
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 17466,
                                            "end": 17480,
                                            "loc": {
                                              "start": {
                                                "line": 466,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 466,
                                                "column": 36
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 17466,
                                              "end": 17477,
                                              "loc": {
                                                "start": {
                                                  "line": 466,
                                                  "column": 22
                                                },
                                                "end": {
                                                  "line": 466,
                                                  "column": 33
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 17466,
                                                "end": 17470,
                                                "loc": {
                                                  "start": {
                                                    "line": 466,
                                                    "column": 22
                                                  },
                                                  "end": {
                                                    "line": 466,
                                                    "column": 26
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 17471,
                                                "end": 17477,
                                                "loc": {
                                                  "start": {
                                                    "line": 466,
                                                    "column": 27
                                                  },
                                                  "end": {
                                                    "line": 466,
                                                    "column": 33
                                                  }
                                                },
                                                "name": "points"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Literal",
                                              "start": 17478,
                                              "end": 17479,
                                              "loc": {
                                                "start": {
                                                  "line": 466,
                                                  "column": 34
                                                },
                                                "end": {
                                                  "line": 466,
                                                  "column": 35
                                                }
                                              },
                                              "value": 1,
                                              "rawValue": 1,
                                              "raw": "1"
                                            },
                                            "computed": true
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 17481,
                                            "end": 17489,
                                            "loc": {
                                              "start": {
                                                "line": 466,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 466,
                                                "column": 45
                                              }
                                            },
                                            "name": "position"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 17490,
                                          "end": 17495,
                                          "loc": {
                                            "start": {
                                              "line": 466,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 466,
                                              "column": 51
                                            }
                                          },
                                          "name": "clone"
                                        },
                                        "computed": false
                                      },
                                      "arguments": []
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 17498,
                                      "end": 17501,
                                      "loc": {
                                        "start": {
                                          "line": 466,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 466,
                                          "column": 57
                                        }
                                      },
                                      "name": "sub"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 17502,
                                      "end": 17525,
                                      "loc": {
                                        "start": {
                                          "line": 466,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 466,
                                          "column": 81
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 17502,
                                        "end": 17516,
                                        "loc": {
                                          "start": {
                                            "line": 466,
                                            "column": 58
                                          },
                                          "end": {
                                            "line": 466,
                                            "column": 72
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 17502,
                                          "end": 17513,
                                          "loc": {
                                            "start": {
                                              "line": 466,
                                              "column": 58
                                            },
                                            "end": {
                                              "line": 466,
                                              "column": 69
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 17502,
                                            "end": 17506,
                                            "loc": {
                                              "start": {
                                                "line": 466,
                                                "column": 58
                                              },
                                              "end": {
                                                "line": 466,
                                                "column": 62
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 17507,
                                            "end": 17513,
                                            "loc": {
                                              "start": {
                                                "line": 466,
                                                "column": 63
                                              },
                                              "end": {
                                                "line": 466,
                                                "column": 69
                                              }
                                            },
                                            "name": "points"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "start": 17514,
                                          "end": 17515,
                                          "loc": {
                                            "start": {
                                              "line": 466,
                                              "column": 70
                                            },
                                            "end": {
                                              "line": 466,
                                              "column": 71
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "computed": true
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 17517,
                                        "end": 17525,
                                        "loc": {
                                          "start": {
                                            "line": 466,
                                            "column": 73
                                          },
                                          "end": {
                                            "line": 466,
                                            "column": 81
                                          }
                                        },
                                        "name": "position"
                                      },
                                      "computed": false
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 17540,
                            "end": 17618,
                            "loc": {
                              "start": {
                                "line": 467,
                                "column": 12
                              },
                              "end": {
                                "line": 467,
                                "column": 90
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 17544,
                                "end": 17617,
                                "loc": {
                                  "start": {
                                    "line": 467,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 467,
                                    "column": 89
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 17544,
                                  "end": 17547,
                                  "loc": {
                                    "start": {
                                      "line": 467,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 467,
                                      "column": 19
                                    }
                                  },
                                  "name": "per"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 17550,
                                  "end": 17617,
                                  "loc": {
                                    "start": {
                                      "line": 467,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 467,
                                      "column": 89
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 17550,
                                    "end": 17576,
                                    "loc": {
                                      "start": {
                                        "line": 467,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 467,
                                        "column": 48
                                      }
                                    },
                                    "object": {
                                      "type": "CallExpression",
                                      "start": 17550,
                                      "end": 17561,
                                      "loc": {
                                        "start": {
                                          "line": 467,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 467,
                                          "column": 33
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 17550,
                                        "end": 17559,
                                        "loc": {
                                          "start": {
                                            "line": 467,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 467,
                                            "column": 31
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 17550,
                                          "end": 17553,
                                          "loc": {
                                            "start": {
                                              "line": 467,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 467,
                                              "column": 25
                                            }
                                          },
                                          "name": "dir"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 17554,
                                          "end": 17559,
                                          "loc": {
                                            "start": {
                                              "line": 467,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 467,
                                              "column": 31
                                            }
                                          },
                                          "name": "clone"
                                        },
                                        "computed": false
                                      },
                                      "arguments": []
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 17562,
                                      "end": 17576,
                                      "loc": {
                                        "start": {
                                          "line": 467,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 467,
                                          "column": 48
                                        }
                                      },
                                      "name": "applyAxisAngle"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "NewExpression",
                                      "start": 17577,
                                      "end": 17603,
                                      "loc": {
                                        "start": {
                                          "line": 467,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 467,
                                          "column": 75
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 17581,
                                        "end": 17594,
                                        "loc": {
                                          "start": {
                                            "line": 467,
                                            "column": 53
                                          },
                                          "end": {
                                            "line": 467,
                                            "column": 66
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 17581,
                                          "end": 17586,
                                          "loc": {
                                            "start": {
                                              "line": 467,
                                              "column": 53
                                            },
                                            "end": {
                                              "line": 467,
                                              "column": 58
                                            }
                                          },
                                          "name": "THREE"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 17587,
                                          "end": 17594,
                                          "loc": {
                                            "start": {
                                              "line": 467,
                                              "column": 59
                                            },
                                            "end": {
                                              "line": 467,
                                              "column": 66
                                            }
                                          },
                                          "name": "Vector3"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Literal",
                                          "start": 17595,
                                          "end": 17596,
                                          "loc": {
                                            "start": {
                                              "line": 467,
                                              "column": 67
                                            },
                                            "end": {
                                              "line": 467,
                                              "column": 68
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 17598,
                                          "end": 17599,
                                          "loc": {
                                            "start": {
                                              "line": 467,
                                              "column": 70
                                            },
                                            "end": {
                                              "line": 467,
                                              "column": 71
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 17601,
                                          "end": 17602,
                                          "loc": {
                                            "start": {
                                              "line": 467,
                                              "column": 73
                                            },
                                            "end": {
                                              "line": 467,
                                              "column": 74
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        }
                                      ]
                                    },
                                    {
                                      "type": "BinaryExpression",
                                      "start": 17605,
                                      "end": 17616,
                                      "loc": {
                                        "start": {
                                          "line": 467,
                                          "column": 77
                                        },
                                        "end": {
                                          "line": 467,
                                          "column": 88
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 17605,
                                        "end": 17612,
                                        "loc": {
                                          "start": {
                                            "line": 467,
                                            "column": 77
                                          },
                                          "end": {
                                            "line": 467,
                                            "column": 84
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 17605,
                                          "end": 17609,
                                          "loc": {
                                            "start": {
                                              "line": 467,
                                              "column": 77
                                            },
                                            "end": {
                                              "line": 467,
                                              "column": 81
                                            }
                                          },
                                          "name": "Math"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 17610,
                                          "end": 17612,
                                          "loc": {
                                            "start": {
                                              "line": 467,
                                              "column": 82
                                            },
                                            "end": {
                                              "line": 467,
                                              "column": 84
                                            }
                                          },
                                          "name": "PI"
                                        },
                                        "computed": false
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "Literal",
                                        "start": 17615,
                                        "end": 17616,
                                        "loc": {
                                          "start": {
                                            "line": 467,
                                            "column": 87
                                          },
                                          "end": {
                                            "line": 467,
                                            "column": 88
                                          }
                                        },
                                        "value": 2,
                                        "rawValue": 2,
                                        "raw": "2"
                                      }
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 17631,
                            "end": 17690,
                            "loc": {
                              "start": {
                                "line": 468,
                                "column": 12
                              },
                              "end": {
                                "line": 468,
                                "column": 71
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 17635,
                                "end": 17689,
                                "loc": {
                                  "start": {
                                    "line": 468,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 468,
                                    "column": 70
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 17635,
                                  "end": 17644,
                                  "loc": {
                                    "start": {
                                      "line": 468,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 468,
                                      "column": 25
                                    }
                                  },
                                  "name": "dirMidPos"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 17647,
                                  "end": 17689,
                                  "loc": {
                                    "start": {
                                      "line": 468,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 468,
                                      "column": 70
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 17647,
                                    "end": 17684,
                                    "loc": {
                                      "start": {
                                        "line": 468,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 468,
                                        "column": 65
                                      }
                                    },
                                    "object": {
                                      "type": "CallExpression",
                                      "start": 17647,
                                      "end": 17680,
                                      "loc": {
                                        "start": {
                                          "line": 468,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 468,
                                          "column": 61
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 17647,
                                        "end": 17678,
                                        "loc": {
                                          "start": {
                                            "line": 468,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 468,
                                            "column": 59
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 17647,
                                          "end": 17672,
                                          "loc": {
                                            "start": {
                                              "line": 468,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 468,
                                              "column": 53
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 17647,
                                            "end": 17663,
                                            "loc": {
                                              "start": {
                                                "line": 468,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 468,
                                                "column": 44
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 17647,
                                              "end": 17651,
                                              "loc": {
                                                "start": {
                                                  "line": 468,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 468,
                                                  "column": 32
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 17652,
                                              "end": 17663,
                                              "loc": {
                                                "start": {
                                                  "line": 468,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 468,
                                                  "column": 44
                                                }
                                              },
                                              "name": "centerPoint"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 17664,
                                            "end": 17672,
                                            "loc": {
                                              "start": {
                                                "line": 468,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 468,
                                                "column": 53
                                              }
                                            },
                                            "name": "position"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 17673,
                                          "end": 17678,
                                          "loc": {
                                            "start": {
                                              "line": 468,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 468,
                                              "column": 59
                                            }
                                          },
                                          "name": "clone"
                                        },
                                        "computed": false
                                      },
                                      "arguments": []
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 17681,
                                      "end": 17684,
                                      "loc": {
                                        "start": {
                                          "line": 468,
                                          "column": 62
                                        },
                                        "end": {
                                          "line": 468,
                                          "column": 65
                                        }
                                      },
                                      "name": "sub"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 17685,
                                      "end": 17688,
                                      "loc": {
                                        "start": {
                                          "line": 468,
                                          "column": 66
                                        },
                                        "end": {
                                          "line": 468,
                                          "column": 69
                                        }
                                      },
                                      "name": "mid"
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 17703,
                            "end": 17764,
                            "loc": {
                              "start": {
                                "line": 469,
                                "column": 12
                              },
                              "end": {
                                "line": 469,
                                "column": 73
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 17707,
                                "end": 17763,
                                "loc": {
                                  "start": {
                                    "line": 469,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 469,
                                    "column": 72
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 17707,
                                  "end": 17713,
                                  "loc": {
                                    "start": {
                                      "line": 469,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 469,
                                      "column": 22
                                    }
                                  },
                                  "name": "newPos"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 17716,
                                  "end": 17763,
                                  "loc": {
                                    "start": {
                                      "line": 469,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 469,
                                      "column": 72
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 17716,
                                    "end": 17758,
                                    "loc": {
                                      "start": {
                                        "line": 469,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 469,
                                        "column": 67
                                      }
                                    },
                                    "object": {
                                      "type": "CallExpression",
                                      "start": 17716,
                                      "end": 17754,
                                      "loc": {
                                        "start": {
                                          "line": 469,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 469,
                                          "column": 63
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 17716,
                                        "end": 17749,
                                        "loc": {
                                          "start": {
                                            "line": 469,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 469,
                                            "column": 58
                                          }
                                        },
                                        "object": {
                                          "type": "CallExpression",
                                          "start": 17716,
                                          "end": 17733,
                                          "loc": {
                                            "start": {
                                              "line": 469,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 469,
                                              "column": 42
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 17716,
                                            "end": 17731,
                                            "loc": {
                                              "start": {
                                                "line": 469,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 469,
                                                "column": 40
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 17716,
                                              "end": 17725,
                                              "loc": {
                                                "start": {
                                                  "line": 469,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 469,
                                                  "column": 34
                                                }
                                              },
                                              "name": "dirMidPos"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 17726,
                                              "end": 17731,
                                              "loc": {
                                                "start": {
                                                  "line": 469,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 469,
                                                  "column": 40
                                                }
                                              },
                                              "name": "clone"
                                            },
                                            "computed": false
                                          },
                                          "arguments": []
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 17734,
                                          "end": 17749,
                                          "loc": {
                                            "start": {
                                              "line": 469,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 469,
                                              "column": 58
                                            }
                                          },
                                          "name": "projectOnVector"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 17750,
                                          "end": 17753,
                                          "loc": {
                                            "start": {
                                              "line": 469,
                                              "column": 59
                                            },
                                            "end": {
                                              "line": 469,
                                              "column": 62
                                            }
                                          },
                                          "name": "per"
                                        }
                                      ]
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 17755,
                                      "end": 17758,
                                      "loc": {
                                        "start": {
                                          "line": 469,
                                          "column": 64
                                        },
                                        "end": {
                                          "line": 469,
                                          "column": 67
                                        }
                                      },
                                      "name": "add"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 17759,
                                      "end": 17762,
                                      "loc": {
                                        "start": {
                                          "line": 469,
                                          "column": 68
                                        },
                                        "end": {
                                          "line": 469,
                                          "column": 71
                                        }
                                      },
                                      "name": "mid"
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 17777,
                            "end": 17837,
                            "loc": {
                              "start": {
                                "line": 470,
                                "column": 12
                              },
                              "end": {
                                "line": 470,
                                "column": 72
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 17777,
                              "end": 17836,
                              "loc": {
                                "start": {
                                  "line": 470,
                                  "column": 12
                                },
                                "end": {
                                  "line": 470,
                                  "column": 71
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 17777,
                                "end": 17806,
                                "loc": {
                                  "start": {
                                    "line": 470,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 470,
                                    "column": 41
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 17777,
                                  "end": 17802,
                                  "loc": {
                                    "start": {
                                      "line": 470,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 470,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 17777,
                                    "end": 17793,
                                    "loc": {
                                      "start": {
                                        "line": 470,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 470,
                                        "column": 28
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 17777,
                                      "end": 17781,
                                      "loc": {
                                        "start": {
                                          "line": 470,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 470,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 17782,
                                      "end": 17793,
                                      "loc": {
                                        "start": {
                                          "line": 470,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 470,
                                          "column": 28
                                        }
                                      },
                                      "name": "centerPoint"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 17794,
                                    "end": 17802,
                                    "loc": {
                                      "start": {
                                        "line": 470,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 470,
                                        "column": 37
                                      }
                                    },
                                    "name": "position"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 17803,
                                  "end": 17806,
                                  "loc": {
                                    "start": {
                                      "line": 470,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 470,
                                      "column": 41
                                    }
                                  },
                                  "name": "set"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 17807,
                                  "end": 17815,
                                  "loc": {
                                    "start": {
                                      "line": 470,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 470,
                                      "column": 50
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 17807,
                                    "end": 17813,
                                    "loc": {
                                      "start": {
                                        "line": 470,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 470,
                                        "column": 48
                                      }
                                    },
                                    "name": "newPos"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 17814,
                                    "end": 17815,
                                    "loc": {
                                      "start": {
                                        "line": 470,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 470,
                                        "column": 50
                                      }
                                    },
                                    "name": "x"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 17817,
                                  "end": 17825,
                                  "loc": {
                                    "start": {
                                      "line": 470,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 470,
                                      "column": 60
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 17817,
                                    "end": 17823,
                                    "loc": {
                                      "start": {
                                        "line": 470,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 470,
                                        "column": 58
                                      }
                                    },
                                    "name": "newPos"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 17824,
                                    "end": 17825,
                                    "loc": {
                                      "start": {
                                        "line": 470,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 470,
                                        "column": 60
                                      }
                                    },
                                    "name": "y"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 17827,
                                  "end": 17835,
                                  "loc": {
                                    "start": {
                                      "line": 470,
                                      "column": 62
                                    },
                                    "end": {
                                      "line": 470,
                                      "column": 70
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 17827,
                                    "end": 17833,
                                    "loc": {
                                      "start": {
                                        "line": 470,
                                        "column": 62
                                      },
                                      "end": {
                                        "line": 470,
                                        "column": 68
                                      }
                                    },
                                    "name": "newPos"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 17834,
                                    "end": 17835,
                                    "loc": {
                                      "start": {
                                        "line": 470,
                                        "column": 69
                                      },
                                      "end": {
                                        "line": 470,
                                        "column": 70
                                      }
                                    },
                                    "name": "z"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 17857,
                      "end": 17933,
                      "loc": {
                        "start": {
                          "line": 473,
                          "column": 8
                        },
                        "end": {
                          "line": 473,
                          "column": 84
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 17861,
                          "end": 17932,
                          "loc": {
                            "start": {
                              "line": 473,
                              "column": 12
                            },
                            "end": {
                              "line": 473,
                              "column": 83
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 17861,
                            "end": 17868,
                            "loc": {
                              "start": {
                                "line": 473,
                                "column": 12
                              },
                              "end": {
                                "line": 473,
                                "column": 19
                              }
                            },
                            "name": "radius0"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 17871,
                            "end": 17932,
                            "loc": {
                              "start": {
                                "line": 473,
                                "column": 22
                              },
                              "end": {
                                "line": 473,
                                "column": 83
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 17871,
                              "end": 17905,
                              "loc": {
                                "start": {
                                  "line": 473,
                                  "column": 22
                                },
                                "end": {
                                  "line": 473,
                                  "column": 56
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 17871,
                                "end": 17894,
                                "loc": {
                                  "start": {
                                    "line": 473,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 473,
                                    "column": 45
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 17871,
                                  "end": 17885,
                                  "loc": {
                                    "start": {
                                      "line": 473,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 473,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 17871,
                                    "end": 17882,
                                    "loc": {
                                      "start": {
                                        "line": 473,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 473,
                                        "column": 33
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 17871,
                                      "end": 17875,
                                      "loc": {
                                        "start": {
                                          "line": 473,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 473,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 17876,
                                      "end": 17882,
                                      "loc": {
                                        "start": {
                                          "line": 473,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 473,
                                          "column": 33
                                        }
                                      },
                                      "name": "points"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 17883,
                                    "end": 17884,
                                    "loc": {
                                      "start": {
                                        "line": 473,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 473,
                                        "column": 35
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 17886,
                                  "end": 17894,
                                  "loc": {
                                    "start": {
                                      "line": 473,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 473,
                                      "column": 45
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 17895,
                                "end": 17905,
                                "loc": {
                                  "start": {
                                    "line": 473,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 473,
                                    "column": 56
                                  }
                                },
                                "name": "distanceTo"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 17906,
                                "end": 17931,
                                "loc": {
                                  "start": {
                                    "line": 473,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 473,
                                    "column": 82
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 17906,
                                  "end": 17922,
                                  "loc": {
                                    "start": {
                                      "line": 473,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 473,
                                      "column": 73
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 17906,
                                    "end": 17910,
                                    "loc": {
                                      "start": {
                                        "line": 473,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 473,
                                        "column": 61
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 17911,
                                    "end": 17922,
                                    "loc": {
                                      "start": {
                                        "line": 473,
                                        "column": 62
                                      },
                                      "end": {
                                        "line": 473,
                                        "column": 73
                                      }
                                    },
                                    "name": "centerPoint"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 17923,
                                  "end": 17931,
                                  "loc": {
                                    "start": {
                                      "line": 473,
                                      "column": 74
                                    },
                                    "end": {
                                      "line": 473,
                                      "column": 82
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 17942,
                      "end": 18018,
                      "loc": {
                        "start": {
                          "line": 474,
                          "column": 8
                        },
                        "end": {
                          "line": 474,
                          "column": 84
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 17946,
                          "end": 18017,
                          "loc": {
                            "start": {
                              "line": 474,
                              "column": 12
                            },
                            "end": {
                              "line": 474,
                              "column": 83
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 17946,
                            "end": 17953,
                            "loc": {
                              "start": {
                                "line": 474,
                                "column": 12
                              },
                              "end": {
                                "line": 474,
                                "column": 19
                              }
                            },
                            "name": "radius1"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 17956,
                            "end": 18017,
                            "loc": {
                              "start": {
                                "line": 474,
                                "column": 22
                              },
                              "end": {
                                "line": 474,
                                "column": 83
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 17956,
                              "end": 17990,
                              "loc": {
                                "start": {
                                  "line": 474,
                                  "column": 22
                                },
                                "end": {
                                  "line": 474,
                                  "column": 56
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 17956,
                                "end": 17979,
                                "loc": {
                                  "start": {
                                    "line": 474,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 474,
                                    "column": 45
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 17956,
                                  "end": 17970,
                                  "loc": {
                                    "start": {
                                      "line": 474,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 474,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 17956,
                                    "end": 17967,
                                    "loc": {
                                      "start": {
                                        "line": 474,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 474,
                                        "column": 33
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 17956,
                                      "end": 17960,
                                      "loc": {
                                        "start": {
                                          "line": 474,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 474,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 17961,
                                      "end": 17967,
                                      "loc": {
                                        "start": {
                                          "line": 474,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 474,
                                          "column": 33
                                        }
                                      },
                                      "name": "points"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 17968,
                                    "end": 17969,
                                    "loc": {
                                      "start": {
                                        "line": 474,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 474,
                                        "column": 35
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 17971,
                                  "end": 17979,
                                  "loc": {
                                    "start": {
                                      "line": 474,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 474,
                                      "column": 45
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 17980,
                                "end": 17990,
                                "loc": {
                                  "start": {
                                    "line": 474,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 474,
                                    "column": 56
                                  }
                                },
                                "name": "distanceTo"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 17991,
                                "end": 18016,
                                "loc": {
                                  "start": {
                                    "line": 474,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 474,
                                    "column": 82
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 17991,
                                  "end": 18007,
                                  "loc": {
                                    "start": {
                                      "line": 474,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 474,
                                      "column": 73
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 17991,
                                    "end": 17995,
                                    "loc": {
                                      "start": {
                                        "line": 474,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 474,
                                        "column": 61
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 17996,
                                    "end": 18007,
                                    "loc": {
                                      "start": {
                                        "line": 474,
                                        "column": 62
                                      },
                                      "end": {
                                        "line": 474,
                                        "column": 73
                                      }
                                    },
                                    "name": "centerPoint"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 18008,
                                  "end": 18016,
                                  "loc": {
                                    "start": {
                                      "line": 474,
                                      "column": 74
                                    },
                                    "end": {
                                      "line": 474,
                                      "column": 82
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 18027,
                      "end": 18243,
                      "loc": {
                        "start": {
                          "line": 475,
                          "column": 8
                        },
                        "end": {
                          "line": 480,
                          "column": 50
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 18031,
                        "end": 18060,
                        "loc": {
                          "start": {
                            "line": 475,
                            "column": 12
                          },
                          "end": {
                            "line": 475,
                            "column": 41
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 18031,
                          "end": 18041,
                          "loc": {
                            "start": {
                              "line": 475,
                              "column": 12
                            },
                            "end": {
                              "line": 475,
                              "column": 22
                            }
                          },
                          "name": "movedPoint"
                        },
                        "operator": "===",
                        "right": {
                          "type": "MemberExpression",
                          "start": 18046,
                          "end": 18060,
                          "loc": {
                            "start": {
                              "line": 475,
                              "column": 27
                            },
                            "end": {
                              "line": 475,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 18046,
                            "end": 18057,
                            "loc": {
                              "start": {
                                "line": 475,
                                "column": 27
                              },
                              "end": {
                                "line": 475,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 18046,
                              "end": 18050,
                              "loc": {
                                "start": {
                                  "line": 475,
                                  "column": 27
                                },
                                "end": {
                                  "line": 475,
                                  "column": 31
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18051,
                              "end": 18057,
                              "loc": {
                                "start": {
                                  "line": 475,
                                  "column": 32
                                },
                                "end": {
                                  "line": 475,
                                  "column": 38
                                }
                              },
                              "name": "points"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Literal",
                            "start": 18058,
                            "end": 18059,
                            "loc": {
                              "start": {
                                "line": 475,
                                "column": 39
                              },
                              "end": {
                                "line": 475,
                                "column": 40
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "computed": true
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 18074,
                        "end": 18096,
                        "loc": {
                          "start": {
                            "line": 476,
                            "column": 12
                          },
                          "end": {
                            "line": 476,
                            "column": 34
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 18074,
                          "end": 18095,
                          "loc": {
                            "start": {
                              "line": 476,
                              "column": 12
                            },
                            "end": {
                              "line": 476,
                              "column": 33
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 18074,
                            "end": 18085,
                            "loc": {
                              "start": {
                                "line": 476,
                                "column": 12
                              },
                              "end": {
                                "line": 476,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 18074,
                              "end": 18078,
                              "loc": {
                                "start": {
                                  "line": 476,
                                  "column": 12
                                },
                                "end": {
                                  "line": 476,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18079,
                              "end": 18085,
                              "loc": {
                                "start": {
                                  "line": 476,
                                  "column": 17
                                },
                                "end": {
                                  "line": 476,
                                  "column": 23
                                }
                              },
                              "name": "radius"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Identifier",
                            "start": 18088,
                            "end": 18095,
                            "loc": {
                              "start": {
                                "line": 476,
                                "column": 26
                              },
                              "end": {
                                "line": 476,
                                "column": 33
                              }
                            },
                            "name": "radius1"
                          }
                        }
                      },
                      "alternate": {
                        "type": "IfStatement",
                        "start": 18110,
                        "end": 18243,
                        "loc": {
                          "start": {
                            "line": 477,
                            "column": 13
                          },
                          "end": {
                            "line": 480,
                            "column": 50
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 18114,
                          "end": 18143,
                          "loc": {
                            "start": {
                              "line": 477,
                              "column": 17
                            },
                            "end": {
                              "line": 477,
                              "column": 46
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 18114,
                            "end": 18124,
                            "loc": {
                              "start": {
                                "line": 477,
                                "column": 17
                              },
                              "end": {
                                "line": 477,
                                "column": 27
                              }
                            },
                            "name": "movedPoint"
                          },
                          "operator": "===",
                          "right": {
                            "type": "MemberExpression",
                            "start": 18129,
                            "end": 18143,
                            "loc": {
                              "start": {
                                "line": 477,
                                "column": 32
                              },
                              "end": {
                                "line": 477,
                                "column": 46
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 18129,
                              "end": 18140,
                              "loc": {
                                "start": {
                                  "line": 477,
                                  "column": 32
                                },
                                "end": {
                                  "line": 477,
                                  "column": 43
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 18129,
                                "end": 18133,
                                "loc": {
                                  "start": {
                                    "line": 477,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 477,
                                    "column": 36
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 18134,
                                "end": 18140,
                                "loc": {
                                  "start": {
                                    "line": 477,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 477,
                                    "column": 43
                                  }
                                },
                                "name": "points"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Literal",
                              "start": 18141,
                              "end": 18142,
                              "loc": {
                                "start": {
                                  "line": 477,
                                  "column": 44
                                },
                                "end": {
                                  "line": 477,
                                  "column": 45
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "computed": true
                          }
                        },
                        "consequent": {
                          "type": "ExpressionStatement",
                          "start": 18157,
                          "end": 18179,
                          "loc": {
                            "start": {
                              "line": 478,
                              "column": 12
                            },
                            "end": {
                              "line": 478,
                              "column": 34
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 18157,
                            "end": 18178,
                            "loc": {
                              "start": {
                                "line": 478,
                                "column": 12
                              },
                              "end": {
                                "line": 478,
                                "column": 33
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "start": 18157,
                              "end": 18168,
                              "loc": {
                                "start": {
                                  "line": 478,
                                  "column": 12
                                },
                                "end": {
                                  "line": 478,
                                  "column": 23
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 18157,
                                "end": 18161,
                                "loc": {
                                  "start": {
                                    "line": 478,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 478,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 18162,
                                "end": 18168,
                                "loc": {
                                  "start": {
                                    "line": 478,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 478,
                                    "column": 23
                                  }
                                },
                                "name": "radius"
                              },
                              "computed": false
                            },
                            "right": {
                              "type": "Identifier",
                              "start": 18171,
                              "end": 18178,
                              "loc": {
                                "start": {
                                  "line": 478,
                                  "column": 26
                                },
                                "end": {
                                  "line": 478,
                                  "column": 33
                                }
                              },
                              "name": "radius0"
                            }
                          }
                        },
                        "alternate": {
                          "type": "ExpressionStatement",
                          "start": 18205,
                          "end": 18243,
                          "loc": {
                            "start": {
                              "line": 480,
                              "column": 12
                            },
                            "end": {
                              "line": 480,
                              "column": 50
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 18205,
                            "end": 18242,
                            "loc": {
                              "start": {
                                "line": 480,
                                "column": 12
                              },
                              "end": {
                                "line": 480,
                                "column": 49
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "start": 18205,
                              "end": 18216,
                              "loc": {
                                "start": {
                                  "line": 480,
                                  "column": 12
                                },
                                "end": {
                                  "line": 480,
                                  "column": 23
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 18205,
                                "end": 18209,
                                "loc": {
                                  "start": {
                                    "line": 480,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 480,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 18210,
                                "end": 18216,
                                "loc": {
                                  "start": {
                                    "line": 480,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 480,
                                    "column": 23
                                  }
                                },
                                "name": "radius"
                              },
                              "computed": false
                            },
                            "right": {
                              "type": "BinaryExpression",
                              "start": 18219,
                              "end": 18242,
                              "loc": {
                                "start": {
                                  "line": 480,
                                  "column": 26
                                },
                                "end": {
                                  "line": 480,
                                  "column": 49
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 18220,
                                "end": 18237,
                                "loc": {
                                  "start": {
                                    "line": 480,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 480,
                                    "column": 44
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 18220,
                                  "end": 18227,
                                  "loc": {
                                    "start": {
                                      "line": 480,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 480,
                                      "column": 34
                                    }
                                  },
                                  "name": "radius0"
                                },
                                "operator": "+",
                                "right": {
                                  "type": "Identifier",
                                  "start": 18230,
                                  "end": 18237,
                                  "loc": {
                                    "start": {
                                      "line": 480,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 480,
                                      "column": 44
                                    }
                                  },
                                  "name": "radius1"
                                },
                                "parenthesizedExpression": true
                              },
                              "operator": "/",
                              "right": {
                                "type": "Literal",
                                "start": 18241,
                                "end": 18242,
                                "loc": {
                                  "start": {
                                    "line": 480,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 480,
                                    "column": 49
                                  }
                                },
                                "value": 2,
                                "rawValue": 2,
                                "raw": "2"
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 18252,
                      "end": 18408,
                      "loc": {
                        "start": {
                          "line": 481,
                          "column": 8
                        },
                        "end": {
                          "line": 482,
                          "column": 121
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 18256,
                        "end": 18285,
                        "loc": {
                          "start": {
                            "line": 481,
                            "column": 12
                          },
                          "end": {
                            "line": 481,
                            "column": 41
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 18256,
                          "end": 18266,
                          "loc": {
                            "start": {
                              "line": 481,
                              "column": 12
                            },
                            "end": {
                              "line": 481,
                              "column": 22
                            }
                          },
                          "name": "movedPoint"
                        },
                        "operator": "===",
                        "right": {
                          "type": "MemberExpression",
                          "start": 18271,
                          "end": 18285,
                          "loc": {
                            "start": {
                              "line": 481,
                              "column": 27
                            },
                            "end": {
                              "line": 481,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 18271,
                            "end": 18282,
                            "loc": {
                              "start": {
                                "line": 481,
                                "column": 27
                              },
                              "end": {
                                "line": 481,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 18271,
                              "end": 18275,
                              "loc": {
                                "start": {
                                  "line": 481,
                                  "column": 27
                                },
                                "end": {
                                  "line": 481,
                                  "column": 31
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18276,
                              "end": 18282,
                              "loc": {
                                "start": {
                                  "line": 481,
                                  "column": 32
                                },
                                "end": {
                                  "line": 481,
                                  "column": 38
                                }
                              },
                              "name": "points"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Literal",
                            "start": 18283,
                            "end": 18284,
                            "loc": {
                              "start": {
                                "line": 481,
                                "column": 39
                              },
                              "end": {
                                "line": 481,
                                "column": 40
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "computed": true
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 18299,
                        "end": 18408,
                        "loc": {
                          "start": {
                            "line": 482,
                            "column": 12
                          },
                          "end": {
                            "line": 482,
                            "column": 121
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 18299,
                          "end": 18407,
                          "loc": {
                            "start": {
                              "line": 482,
                              "column": 12
                            },
                            "end": {
                              "line": 482,
                              "column": 120
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 18299,
                            "end": 18380,
                            "loc": {
                              "start": {
                                "line": 482,
                                "column": 12
                              },
                              "end": {
                                "line": 482,
                                "column": 93
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 18299,
                              "end": 18376,
                              "loc": {
                                "start": {
                                  "line": 482,
                                  "column": 12
                                },
                                "end": {
                                  "line": 482,
                                  "column": 89
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 18299,
                                "end": 18363,
                                "loc": {
                                  "start": {
                                    "line": 482,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 482,
                                    "column": 76
                                  }
                                },
                                "object": {
                                  "type": "CallExpression",
                                  "start": 18299,
                                  "end": 18353,
                                  "loc": {
                                    "start": {
                                      "line": 482,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 482,
                                      "column": 66
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 18299,
                                    "end": 18326,
                                    "loc": {
                                      "start": {
                                        "line": 482,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 482,
                                        "column": 39
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 18299,
                                      "end": 18322,
                                      "loc": {
                                        "start": {
                                          "line": 482,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 482,
                                          "column": 35
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 18299,
                                        "end": 18313,
                                        "loc": {
                                          "start": {
                                            "line": 482,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 482,
                                            "column": 26
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 18299,
                                          "end": 18310,
                                          "loc": {
                                            "start": {
                                              "line": 482,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 482,
                                              "column": 23
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 18299,
                                            "end": 18303,
                                            "loc": {
                                              "start": {
                                                "line": 482,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 482,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 18304,
                                            "end": 18310,
                                            "loc": {
                                              "start": {
                                                "line": 482,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 482,
                                                "column": 23
                                              }
                                            },
                                            "name": "points"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "start": 18311,
                                          "end": 18312,
                                          "loc": {
                                            "start": {
                                              "line": 482,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 482,
                                              "column": 25
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "computed": true
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 18314,
                                        "end": 18322,
                                        "loc": {
                                          "start": {
                                            "line": 482,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 482,
                                            "column": 35
                                          }
                                        },
                                        "name": "position"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 18323,
                                      "end": 18326,
                                      "loc": {
                                        "start": {
                                          "line": 482,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 482,
                                          "column": 39
                                        }
                                      },
                                      "name": "sub"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 18327,
                                      "end": 18352,
                                      "loc": {
                                        "start": {
                                          "line": 482,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 482,
                                          "column": 65
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 18327,
                                        "end": 18343,
                                        "loc": {
                                          "start": {
                                            "line": 482,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 482,
                                            "column": 56
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 18327,
                                          "end": 18331,
                                          "loc": {
                                            "start": {
                                              "line": 482,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 482,
                                              "column": 44
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 18332,
                                          "end": 18343,
                                          "loc": {
                                            "start": {
                                              "line": 482,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 482,
                                              "column": 56
                                            }
                                          },
                                          "name": "centerPoint"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 18344,
                                        "end": 18352,
                                        "loc": {
                                          "start": {
                                            "line": 482,
                                            "column": 57
                                          },
                                          "end": {
                                            "line": 482,
                                            "column": 65
                                          }
                                        },
                                        "name": "position"
                                      },
                                      "computed": false
                                    }
                                  ]
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 18354,
                                  "end": 18363,
                                  "loc": {
                                    "start": {
                                      "line": 482,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 482,
                                      "column": 76
                                    }
                                  },
                                  "name": "setLength"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 18364,
                                  "end": 18375,
                                  "loc": {
                                    "start": {
                                      "line": 482,
                                      "column": 77
                                    },
                                    "end": {
                                      "line": 482,
                                      "column": 88
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 18364,
                                    "end": 18368,
                                    "loc": {
                                      "start": {
                                        "line": 482,
                                        "column": 77
                                      },
                                      "end": {
                                        "line": 482,
                                        "column": 81
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 18369,
                                    "end": 18375,
                                    "loc": {
                                      "start": {
                                        "line": 482,
                                        "column": 82
                                      },
                                      "end": {
                                        "line": 482,
                                        "column": 88
                                      }
                                    },
                                    "name": "radius"
                                  },
                                  "computed": false
                                }
                              ]
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18377,
                              "end": 18380,
                              "loc": {
                                "start": {
                                  "line": 482,
                                  "column": 90
                                },
                                "end": {
                                  "line": 482,
                                  "column": 93
                                }
                              },
                              "name": "add"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 18381,
                              "end": 18406,
                              "loc": {
                                "start": {
                                  "line": 482,
                                  "column": 94
                                },
                                "end": {
                                  "line": 482,
                                  "column": 119
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 18381,
                                "end": 18397,
                                "loc": {
                                  "start": {
                                    "line": 482,
                                    "column": 94
                                  },
                                  "end": {
                                    "line": 482,
                                    "column": 110
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 18381,
                                  "end": 18385,
                                  "loc": {
                                    "start": {
                                      "line": 482,
                                      "column": 94
                                    },
                                    "end": {
                                      "line": 482,
                                      "column": 98
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 18386,
                                  "end": 18397,
                                  "loc": {
                                    "start": {
                                      "line": 482,
                                      "column": 99
                                    },
                                    "end": {
                                      "line": 482,
                                      "column": 110
                                    }
                                  },
                                  "name": "centerPoint"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 18398,
                                "end": 18406,
                                "loc": {
                                  "start": {
                                    "line": 482,
                                    "column": 111
                                  },
                                  "end": {
                                    "line": 482,
                                    "column": 119
                                  }
                                },
                                "name": "position"
                              },
                              "computed": false
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 18417,
                      "end": 18573,
                      "loc": {
                        "start": {
                          "line": 483,
                          "column": 8
                        },
                        "end": {
                          "line": 484,
                          "column": 121
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 18421,
                        "end": 18450,
                        "loc": {
                          "start": {
                            "line": 483,
                            "column": 12
                          },
                          "end": {
                            "line": 483,
                            "column": 41
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 18421,
                          "end": 18431,
                          "loc": {
                            "start": {
                              "line": 483,
                              "column": 12
                            },
                            "end": {
                              "line": 483,
                              "column": 22
                            }
                          },
                          "name": "movedPoint"
                        },
                        "operator": "===",
                        "right": {
                          "type": "MemberExpression",
                          "start": 18436,
                          "end": 18450,
                          "loc": {
                            "start": {
                              "line": 483,
                              "column": 27
                            },
                            "end": {
                              "line": 483,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 18436,
                            "end": 18447,
                            "loc": {
                              "start": {
                                "line": 483,
                                "column": 27
                              },
                              "end": {
                                "line": 483,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 18436,
                              "end": 18440,
                              "loc": {
                                "start": {
                                  "line": 483,
                                  "column": 27
                                },
                                "end": {
                                  "line": 483,
                                  "column": 31
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18441,
                              "end": 18447,
                              "loc": {
                                "start": {
                                  "line": 483,
                                  "column": 32
                                },
                                "end": {
                                  "line": 483,
                                  "column": 38
                                }
                              },
                              "name": "points"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Literal",
                            "start": 18448,
                            "end": 18449,
                            "loc": {
                              "start": {
                                "line": 483,
                                "column": 39
                              },
                              "end": {
                                "line": 483,
                                "column": 40
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "computed": true
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 18464,
                        "end": 18573,
                        "loc": {
                          "start": {
                            "line": 484,
                            "column": 12
                          },
                          "end": {
                            "line": 484,
                            "column": 121
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 18464,
                          "end": 18572,
                          "loc": {
                            "start": {
                              "line": 484,
                              "column": 12
                            },
                            "end": {
                              "line": 484,
                              "column": 120
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 18464,
                            "end": 18545,
                            "loc": {
                              "start": {
                                "line": 484,
                                "column": 12
                              },
                              "end": {
                                "line": 484,
                                "column": 93
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 18464,
                              "end": 18541,
                              "loc": {
                                "start": {
                                  "line": 484,
                                  "column": 12
                                },
                                "end": {
                                  "line": 484,
                                  "column": 89
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 18464,
                                "end": 18528,
                                "loc": {
                                  "start": {
                                    "line": 484,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 484,
                                    "column": 76
                                  }
                                },
                                "object": {
                                  "type": "CallExpression",
                                  "start": 18464,
                                  "end": 18518,
                                  "loc": {
                                    "start": {
                                      "line": 484,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 484,
                                      "column": 66
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 18464,
                                    "end": 18491,
                                    "loc": {
                                      "start": {
                                        "line": 484,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 484,
                                        "column": 39
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 18464,
                                      "end": 18487,
                                      "loc": {
                                        "start": {
                                          "line": 484,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 484,
                                          "column": 35
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 18464,
                                        "end": 18478,
                                        "loc": {
                                          "start": {
                                            "line": 484,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 484,
                                            "column": 26
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 18464,
                                          "end": 18475,
                                          "loc": {
                                            "start": {
                                              "line": 484,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 484,
                                              "column": 23
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 18464,
                                            "end": 18468,
                                            "loc": {
                                              "start": {
                                                "line": 484,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 484,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 18469,
                                            "end": 18475,
                                            "loc": {
                                              "start": {
                                                "line": 484,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 484,
                                                "column": 23
                                              }
                                            },
                                            "name": "points"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "start": 18476,
                                          "end": 18477,
                                          "loc": {
                                            "start": {
                                              "line": 484,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 484,
                                              "column": 25
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "computed": true
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 18479,
                                        "end": 18487,
                                        "loc": {
                                          "start": {
                                            "line": 484,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 484,
                                            "column": 35
                                          }
                                        },
                                        "name": "position"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 18488,
                                      "end": 18491,
                                      "loc": {
                                        "start": {
                                          "line": 484,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 484,
                                          "column": 39
                                        }
                                      },
                                      "name": "sub"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 18492,
                                      "end": 18517,
                                      "loc": {
                                        "start": {
                                          "line": 484,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 484,
                                          "column": 65
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 18492,
                                        "end": 18508,
                                        "loc": {
                                          "start": {
                                            "line": 484,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 484,
                                            "column": 56
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 18492,
                                          "end": 18496,
                                          "loc": {
                                            "start": {
                                              "line": 484,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 484,
                                              "column": 44
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 18497,
                                          "end": 18508,
                                          "loc": {
                                            "start": {
                                              "line": 484,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 484,
                                              "column": 56
                                            }
                                          },
                                          "name": "centerPoint"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 18509,
                                        "end": 18517,
                                        "loc": {
                                          "start": {
                                            "line": 484,
                                            "column": 57
                                          },
                                          "end": {
                                            "line": 484,
                                            "column": 65
                                          }
                                        },
                                        "name": "position"
                                      },
                                      "computed": false
                                    }
                                  ]
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 18519,
                                  "end": 18528,
                                  "loc": {
                                    "start": {
                                      "line": 484,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 484,
                                      "column": 76
                                    }
                                  },
                                  "name": "setLength"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 18529,
                                  "end": 18540,
                                  "loc": {
                                    "start": {
                                      "line": 484,
                                      "column": 77
                                    },
                                    "end": {
                                      "line": 484,
                                      "column": 88
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 18529,
                                    "end": 18533,
                                    "loc": {
                                      "start": {
                                        "line": 484,
                                        "column": 77
                                      },
                                      "end": {
                                        "line": 484,
                                        "column": 81
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 18534,
                                    "end": 18540,
                                    "loc": {
                                      "start": {
                                        "line": 484,
                                        "column": 82
                                      },
                                      "end": {
                                        "line": 484,
                                        "column": 88
                                      }
                                    },
                                    "name": "radius"
                                  },
                                  "computed": false
                                }
                              ]
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18542,
                              "end": 18545,
                              "loc": {
                                "start": {
                                  "line": 484,
                                  "column": 90
                                },
                                "end": {
                                  "line": 484,
                                  "column": 93
                                }
                              },
                              "name": "add"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 18546,
                              "end": 18571,
                              "loc": {
                                "start": {
                                  "line": 484,
                                  "column": 94
                                },
                                "end": {
                                  "line": 484,
                                  "column": 119
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 18546,
                                "end": 18562,
                                "loc": {
                                  "start": {
                                    "line": 484,
                                    "column": 94
                                  },
                                  "end": {
                                    "line": 484,
                                    "column": 110
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 18546,
                                  "end": 18550,
                                  "loc": {
                                    "start": {
                                      "line": 484,
                                      "column": 94
                                    },
                                    "end": {
                                      "line": 484,
                                      "column": 98
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 18551,
                                  "end": 18562,
                                  "loc": {
                                    "start": {
                                      "line": 484,
                                      "column": 99
                                    },
                                    "end": {
                                      "line": 484,
                                      "column": 110
                                    }
                                  },
                                  "name": "centerPoint"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 18563,
                                "end": 18571,
                                "loc": {
                                  "start": {
                                    "line": 484,
                                    "column": 111
                                  },
                                  "end": {
                                    "line": 484,
                                    "column": 119
                                  }
                                },
                                "name": "position"
                              },
                              "computed": false
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 18583,
                      "end": 18663,
                      "loc": {
                        "start": {
                          "line": 486,
                          "column": 8
                        },
                        "end": {
                          "line": 486,
                          "column": 88
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 18587,
                          "end": 18662,
                          "loc": {
                            "start": {
                              "line": 486,
                              "column": 12
                            },
                            "end": {
                              "line": 486,
                              "column": 87
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 18587,
                            "end": 18597,
                            "loc": {
                              "start": {
                                "line": 486,
                                "column": 12
                              },
                              "end": {
                                "line": 486,
                                "column": 22
                              }
                            },
                            "name": "center0Dir"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 18600,
                            "end": 18662,
                            "loc": {
                              "start": {
                                "line": 486,
                                "column": 25
                              },
                              "end": {
                                "line": 486,
                                "column": 87
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 18600,
                              "end": 18635,
                              "loc": {
                                "start": {
                                  "line": 486,
                                  "column": 25
                                },
                                "end": {
                                  "line": 486,
                                  "column": 60
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 18600,
                                "end": 18631,
                                "loc": {
                                  "start": {
                                    "line": 486,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 486,
                                    "column": 56
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 18600,
                                  "end": 18629,
                                  "loc": {
                                    "start": {
                                      "line": 486,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 486,
                                      "column": 54
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 18600,
                                    "end": 18623,
                                    "loc": {
                                      "start": {
                                        "line": 486,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 486,
                                        "column": 48
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 18600,
                                      "end": 18614,
                                      "loc": {
                                        "start": {
                                          "line": 486,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 486,
                                          "column": 39
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 18600,
                                        "end": 18611,
                                        "loc": {
                                          "start": {
                                            "line": 486,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 486,
                                            "column": 36
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 18600,
                                          "end": 18604,
                                          "loc": {
                                            "start": {
                                              "line": 486,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 486,
                                              "column": 29
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 18605,
                                          "end": 18611,
                                          "loc": {
                                            "start": {
                                              "line": 486,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 486,
                                              "column": 36
                                            }
                                          },
                                          "name": "points"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Literal",
                                        "start": 18612,
                                        "end": 18613,
                                        "loc": {
                                          "start": {
                                            "line": 486,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 486,
                                            "column": 38
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 18615,
                                      "end": 18623,
                                      "loc": {
                                        "start": {
                                          "line": 486,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 486,
                                          "column": 48
                                        }
                                      },
                                      "name": "position"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 18624,
                                    "end": 18629,
                                    "loc": {
                                      "start": {
                                        "line": 486,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 486,
                                        "column": 54
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 18632,
                                "end": 18635,
                                "loc": {
                                  "start": {
                                    "line": 486,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 486,
                                    "column": 60
                                  }
                                },
                                "name": "sub"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 18636,
                                "end": 18661,
                                "loc": {
                                  "start": {
                                    "line": 486,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 486,
                                    "column": 86
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 18636,
                                  "end": 18652,
                                  "loc": {
                                    "start": {
                                      "line": 486,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 486,
                                      "column": 77
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 18636,
                                    "end": 18640,
                                    "loc": {
                                      "start": {
                                        "line": 486,
                                        "column": 61
                                      },
                                      "end": {
                                        "line": 486,
                                        "column": 65
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 18641,
                                    "end": 18652,
                                    "loc": {
                                      "start": {
                                        "line": 486,
                                        "column": 66
                                      },
                                      "end": {
                                        "line": 486,
                                        "column": 77
                                      }
                                    },
                                    "name": "centerPoint"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 18653,
                                  "end": 18661,
                                  "loc": {
                                    "start": {
                                      "line": 486,
                                      "column": 78
                                    },
                                    "end": {
                                      "line": 486,
                                      "column": 86
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 18672,
                      "end": 18752,
                      "loc": {
                        "start": {
                          "line": 487,
                          "column": 8
                        },
                        "end": {
                          "line": 487,
                          "column": 88
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 18676,
                          "end": 18751,
                          "loc": {
                            "start": {
                              "line": 487,
                              "column": 12
                            },
                            "end": {
                              "line": 487,
                              "column": 87
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 18676,
                            "end": 18686,
                            "loc": {
                              "start": {
                                "line": 487,
                                "column": 12
                              },
                              "end": {
                                "line": 487,
                                "column": 22
                              }
                            },
                            "name": "center1Dir"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 18689,
                            "end": 18751,
                            "loc": {
                              "start": {
                                "line": 487,
                                "column": 25
                              },
                              "end": {
                                "line": 487,
                                "column": 87
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 18689,
                              "end": 18724,
                              "loc": {
                                "start": {
                                  "line": 487,
                                  "column": 25
                                },
                                "end": {
                                  "line": 487,
                                  "column": 60
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 18689,
                                "end": 18720,
                                "loc": {
                                  "start": {
                                    "line": 487,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 487,
                                    "column": 56
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 18689,
                                  "end": 18718,
                                  "loc": {
                                    "start": {
                                      "line": 487,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 487,
                                      "column": 54
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 18689,
                                    "end": 18712,
                                    "loc": {
                                      "start": {
                                        "line": 487,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 487,
                                        "column": 48
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 18689,
                                      "end": 18703,
                                      "loc": {
                                        "start": {
                                          "line": 487,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 487,
                                          "column": 39
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 18689,
                                        "end": 18700,
                                        "loc": {
                                          "start": {
                                            "line": 487,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 487,
                                            "column": 36
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 18689,
                                          "end": 18693,
                                          "loc": {
                                            "start": {
                                              "line": 487,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 487,
                                              "column": 29
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 18694,
                                          "end": 18700,
                                          "loc": {
                                            "start": {
                                              "line": 487,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 487,
                                              "column": 36
                                            }
                                          },
                                          "name": "points"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Literal",
                                        "start": 18701,
                                        "end": 18702,
                                        "loc": {
                                          "start": {
                                            "line": 487,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 487,
                                            "column": 38
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 18704,
                                      "end": 18712,
                                      "loc": {
                                        "start": {
                                          "line": 487,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 487,
                                          "column": 48
                                        }
                                      },
                                      "name": "position"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 18713,
                                    "end": 18718,
                                    "loc": {
                                      "start": {
                                        "line": 487,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 487,
                                        "column": 54
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 18721,
                                "end": 18724,
                                "loc": {
                                  "start": {
                                    "line": 487,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 487,
                                    "column": 60
                                  }
                                },
                                "name": "sub"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 18725,
                                "end": 18750,
                                "loc": {
                                  "start": {
                                    "line": 487,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 487,
                                    "column": 86
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 18725,
                                  "end": 18741,
                                  "loc": {
                                    "start": {
                                      "line": 487,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 487,
                                      "column": 77
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 18725,
                                    "end": 18729,
                                    "loc": {
                                      "start": {
                                        "line": 487,
                                        "column": 61
                                      },
                                      "end": {
                                        "line": 487,
                                        "column": 65
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 18730,
                                    "end": 18741,
                                    "loc": {
                                      "start": {
                                        "line": 487,
                                        "column": 66
                                      },
                                      "end": {
                                        "line": 487,
                                        "column": 77
                                      }
                                    },
                                    "name": "centerPoint"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 18742,
                                  "end": 18750,
                                  "loc": {
                                    "start": {
                                      "line": 487,
                                      "column": 78
                                    },
                                    "end": {
                                      "line": 487,
                                      "column": 86
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 18761,
                      "end": 18818,
                      "loc": {
                        "start": {
                          "line": 488,
                          "column": 8
                        },
                        "end": {
                          "line": 488,
                          "column": 65
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 18761,
                        "end": 18817,
                        "loc": {
                          "start": {
                            "line": 488,
                            "column": 8
                          },
                          "end": {
                            "line": 488,
                            "column": 64
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 18761,
                          "end": 18776,
                          "loc": {
                            "start": {
                              "line": 488,
                              "column": 8
                            },
                            "end": {
                              "line": 488,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 18761,
                            "end": 18765,
                            "loc": {
                              "start": {
                                "line": 488,
                                "column": 8
                              },
                              "end": {
                                "line": 488,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 18766,
                            "end": 18776,
                            "loc": {
                              "start": {
                                "line": 488,
                                "column": 13
                              },
                              "end": {
                                "line": 488,
                                "column": 23
                              }
                            },
                            "name": "angleStart"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 18779,
                          "end": 18817,
                          "loc": {
                            "start": {
                              "line": 488,
                              "column": 26
                            },
                            "end": {
                              "line": 488,
                              "column": 64
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 18779,
                            "end": 18789,
                            "loc": {
                              "start": {
                                "line": 488,
                                "column": 26
                              },
                              "end": {
                                "line": 488,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 18779,
                              "end": 18783,
                              "loc": {
                                "start": {
                                  "line": 488,
                                  "column": 26
                                },
                                "end": {
                                  "line": 488,
                                  "column": 30
                                }
                              },
                              "name": "Math"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18784,
                              "end": 18789,
                              "loc": {
                                "start": {
                                  "line": 488,
                                  "column": 31
                                },
                                "end": {
                                  "line": 488,
                                  "column": 36
                                }
                              },
                              "name": "atan2"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 18790,
                              "end": 18802,
                              "loc": {
                                "start": {
                                  "line": 488,
                                  "column": 37
                                },
                                "end": {
                                  "line": 488,
                                  "column": 49
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 18790,
                                "end": 18800,
                                "loc": {
                                  "start": {
                                    "line": 488,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 488,
                                    "column": 47
                                  }
                                },
                                "name": "center0Dir"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 18801,
                                "end": 18802,
                                "loc": {
                                  "start": {
                                    "line": 488,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 488,
                                    "column": 49
                                  }
                                },
                                "name": "y"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 18804,
                              "end": 18816,
                              "loc": {
                                "start": {
                                  "line": 488,
                                  "column": 51
                                },
                                "end": {
                                  "line": 488,
                                  "column": 63
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 18804,
                                "end": 18814,
                                "loc": {
                                  "start": {
                                    "line": 488,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 488,
                                    "column": 61
                                  }
                                },
                                "name": "center0Dir"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 18815,
                                "end": 18816,
                                "loc": {
                                  "start": {
                                    "line": 488,
                                    "column": 62
                                  },
                                  "end": {
                                    "line": 488,
                                    "column": 63
                                  }
                                },
                                "name": "x"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 18827,
                      "end": 18882,
                      "loc": {
                        "start": {
                          "line": 489,
                          "column": 8
                        },
                        "end": {
                          "line": 489,
                          "column": 63
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 18827,
                        "end": 18881,
                        "loc": {
                          "start": {
                            "line": 489,
                            "column": 8
                          },
                          "end": {
                            "line": 489,
                            "column": 62
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 18827,
                          "end": 18840,
                          "loc": {
                            "start": {
                              "line": 489,
                              "column": 8
                            },
                            "end": {
                              "line": 489,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 18827,
                            "end": 18831,
                            "loc": {
                              "start": {
                                "line": 489,
                                "column": 8
                              },
                              "end": {
                                "line": 489,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 18832,
                            "end": 18840,
                            "loc": {
                              "start": {
                                "line": 489,
                                "column": 13
                              },
                              "end": {
                                "line": 489,
                                "column": 21
                              }
                            },
                            "name": "angleEnd"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 18843,
                          "end": 18881,
                          "loc": {
                            "start": {
                              "line": 489,
                              "column": 24
                            },
                            "end": {
                              "line": 489,
                              "column": 62
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 18843,
                            "end": 18853,
                            "loc": {
                              "start": {
                                "line": 489,
                                "column": 24
                              },
                              "end": {
                                "line": 489,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 18843,
                              "end": 18847,
                              "loc": {
                                "start": {
                                  "line": 489,
                                  "column": 24
                                },
                                "end": {
                                  "line": 489,
                                  "column": 28
                                }
                              },
                              "name": "Math"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18848,
                              "end": 18853,
                              "loc": {
                                "start": {
                                  "line": 489,
                                  "column": 29
                                },
                                "end": {
                                  "line": 489,
                                  "column": 34
                                }
                              },
                              "name": "atan2"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 18854,
                              "end": 18866,
                              "loc": {
                                "start": {
                                  "line": 489,
                                  "column": 35
                                },
                                "end": {
                                  "line": 489,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 18854,
                                "end": 18864,
                                "loc": {
                                  "start": {
                                    "line": 489,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 489,
                                    "column": 45
                                  }
                                },
                                "name": "center1Dir"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 18865,
                                "end": 18866,
                                "loc": {
                                  "start": {
                                    "line": 489,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 489,
                                    "column": 47
                                  }
                                },
                                "name": "y"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 18868,
                              "end": 18880,
                              "loc": {
                                "start": {
                                  "line": 489,
                                  "column": 49
                                },
                                "end": {
                                  "line": 489,
                                  "column": 61
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 18868,
                                "end": 18878,
                                "loc": {
                                  "start": {
                                    "line": 489,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 489,
                                    "column": 59
                                  }
                                },
                                "name": "center1Dir"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 18879,
                                "end": 18880,
                                "loc": {
                                  "start": {
                                    "line": 489,
                                    "column": 60
                                  },
                                  "end": {
                                    "line": 489,
                                    "column": 61
                                  }
                                },
                                "name": "x"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 18891,
                      "end": 19131,
                      "loc": {
                        "start": {
                          "line": 490,
                          "column": 8
                        },
                        "end": {
                          "line": 496,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 18895,
                        "end": 18909,
                        "loc": {
                          "start": {
                            "line": 490,
                            "column": 12
                          },
                          "end": {
                            "line": 490,
                            "column": 26
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 18895,
                          "end": 18899,
                          "loc": {
                            "start": {
                              "line": 490,
                              "column": 12
                            },
                            "end": {
                              "line": 490,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 18900,
                          "end": 18909,
                          "loc": {
                            "start": {
                              "line": 490,
                              "column": 17
                            },
                            "end": {
                              "line": 490,
                              "column": 26
                            }
                          },
                          "name": "clockwise"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 18911,
                        "end": 19019,
                        "loc": {
                          "start": {
                            "line": 490,
                            "column": 28
                          },
                          "end": {
                            "line": 493,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 18925,
                            "end": 19009,
                            "loc": {
                              "start": {
                                "line": 491,
                                "column": 12
                              },
                              "end": {
                                "line": 492,
                                "column": 47
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 18929,
                              "end": 18960,
                              "loc": {
                                "start": {
                                  "line": 491,
                                  "column": 16
                                },
                                "end": {
                                  "line": 491,
                                  "column": 47
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 18929,
                                "end": 18944,
                                "loc": {
                                  "start": {
                                    "line": 491,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 491,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 18929,
                                  "end": 18933,
                                  "loc": {
                                    "start": {
                                      "line": 491,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 491,
                                      "column": 20
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 18934,
                                  "end": 18944,
                                  "loc": {
                                    "start": {
                                      "line": 491,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 491,
                                      "column": 31
                                    }
                                  },
                                  "name": "angleStart"
                                },
                                "computed": false
                              },
                              "operator": "<",
                              "right": {
                                "type": "MemberExpression",
                                "start": 18947,
                                "end": 18960,
                                "loc": {
                                  "start": {
                                    "line": 491,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 491,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 18947,
                                  "end": 18951,
                                  "loc": {
                                    "start": {
                                      "line": 491,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 491,
                                      "column": 38
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 18952,
                                  "end": 18960,
                                  "loc": {
                                    "start": {
                                      "line": 491,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 491,
                                      "column": 47
                                    }
                                  },
                                  "name": "angleEnd"
                                },
                                "computed": false
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 18978,
                              "end": 19009,
                              "loc": {
                                "start": {
                                  "line": 492,
                                  "column": 16
                                },
                                "end": {
                                  "line": 492,
                                  "column": 47
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 18978,
                                "end": 19008,
                                "loc": {
                                  "start": {
                                    "line": 492,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 492,
                                    "column": 46
                                  }
                                },
                                "operator": "+=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 18978,
                                  "end": 18993,
                                  "loc": {
                                    "start": {
                                      "line": 492,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 492,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 18978,
                                    "end": 18982,
                                    "loc": {
                                      "start": {
                                        "line": 492,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 492,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 18983,
                                    "end": 18993,
                                    "loc": {
                                      "start": {
                                        "line": 492,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 492,
                                        "column": 31
                                      }
                                    },
                                    "name": "angleStart"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 18997,
                                  "end": 19008,
                                  "loc": {
                                    "start": {
                                      "line": 492,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 492,
                                      "column": 46
                                    }
                                  },
                                  "left": {
                                    "type": "Literal",
                                    "start": 18997,
                                    "end": 18998,
                                    "loc": {
                                      "start": {
                                        "line": 492,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 492,
                                        "column": 36
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 19001,
                                    "end": 19008,
                                    "loc": {
                                      "start": {
                                        "line": 492,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 492,
                                        "column": 46
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 19001,
                                      "end": 19005,
                                      "loc": {
                                        "start": {
                                          "line": 492,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 492,
                                          "column": 43
                                        }
                                      },
                                      "name": "Math"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 19006,
                                      "end": 19008,
                                      "loc": {
                                        "start": {
                                          "line": 492,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 492,
                                          "column": 46
                                        }
                                      },
                                      "name": "PI"
                                    },
                                    "computed": false
                                  }
                                }
                              }
                            },
                            "alternate": null
                          }
                        ]
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "start": 19025,
                        "end": 19131,
                        "loc": {
                          "start": {
                            "line": 493,
                            "column": 15
                          },
                          "end": {
                            "line": 496,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 19039,
                            "end": 19121,
                            "loc": {
                              "start": {
                                "line": 494,
                                "column": 12
                              },
                              "end": {
                                "line": 495,
                                "column": 45
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 19043,
                              "end": 19074,
                              "loc": {
                                "start": {
                                  "line": 494,
                                  "column": 16
                                },
                                "end": {
                                  "line": 494,
                                  "column": 47
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 19043,
                                "end": 19058,
                                "loc": {
                                  "start": {
                                    "line": 494,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 494,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 19043,
                                  "end": 19047,
                                  "loc": {
                                    "start": {
                                      "line": 494,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 494,
                                      "column": 20
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 19048,
                                  "end": 19058,
                                  "loc": {
                                    "start": {
                                      "line": 494,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 494,
                                      "column": 31
                                    }
                                  },
                                  "name": "angleStart"
                                },
                                "computed": false
                              },
                              "operator": ">",
                              "right": {
                                "type": "MemberExpression",
                                "start": 19061,
                                "end": 19074,
                                "loc": {
                                  "start": {
                                    "line": 494,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 494,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 19061,
                                  "end": 19065,
                                  "loc": {
                                    "start": {
                                      "line": 494,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 494,
                                      "column": 38
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 19066,
                                  "end": 19074,
                                  "loc": {
                                    "start": {
                                      "line": 494,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 494,
                                      "column": 47
                                    }
                                  },
                                  "name": "angleEnd"
                                },
                                "computed": false
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 19092,
                              "end": 19121,
                              "loc": {
                                "start": {
                                  "line": 495,
                                  "column": 16
                                },
                                "end": {
                                  "line": 495,
                                  "column": 45
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 19092,
                                "end": 19120,
                                "loc": {
                                  "start": {
                                    "line": 495,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 495,
                                    "column": 44
                                  }
                                },
                                "operator": "+=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 19092,
                                  "end": 19105,
                                  "loc": {
                                    "start": {
                                      "line": 495,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 495,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 19092,
                                    "end": 19096,
                                    "loc": {
                                      "start": {
                                        "line": 495,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 495,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 19097,
                                    "end": 19105,
                                    "loc": {
                                      "start": {
                                        "line": 495,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 495,
                                        "column": 29
                                      }
                                    },
                                    "name": "angleEnd"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 19109,
                                  "end": 19120,
                                  "loc": {
                                    "start": {
                                      "line": 495,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 495,
                                      "column": 44
                                    }
                                  },
                                  "left": {
                                    "type": "Literal",
                                    "start": 19109,
                                    "end": 19110,
                                    "loc": {
                                      "start": {
                                        "line": 495,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 495,
                                        "column": 34
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 19113,
                                    "end": 19120,
                                    "loc": {
                                      "start": {
                                        "line": 495,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 495,
                                        "column": 44
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 19113,
                                      "end": 19117,
                                      "loc": {
                                        "start": {
                                          "line": 495,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 495,
                                          "column": 41
                                        }
                                      },
                                      "name": "Math"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 19118,
                                      "end": 19120,
                                      "loc": {
                                        "start": {
                                          "line": 495,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 495,
                                          "column": 44
                                        }
                                      },
                                      "name": "PI"
                                    },
                                    "computed": false
                                  }
                                }
                              }
                            },
                            "alternate": null
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 19143,
              "end": 19264,
              "loc": {
                "start": {
                  "line": 499,
                  "column": 4
                },
                "end": {
                  "line": 502,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 19143,
                "end": 19163,
                "loc": {
                  "start": {
                    "line": 499,
                    "column": 4
                  },
                  "end": {
                    "line": 499,
                    "column": 24
                  }
                },
                "name": "getAuxiliaryGeometry"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 19163,
                "end": 19264,
                "loc": {
                  "start": {
                    "line": 499,
                    "column": 24
                  },
                  "end": {
                    "line": 502,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 19166,
                  "end": 19264,
                  "loc": {
                    "start": {
                      "line": 499,
                      "column": 27
                    },
                    "end": {
                      "line": 502,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 19176,
                      "end": 19233,
                      "loc": {
                        "start": {
                          "line": 500,
                          "column": 8
                        },
                        "end": {
                          "line": 500,
                          "column": 65
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 19180,
                          "end": 19232,
                          "loc": {
                            "start": {
                              "line": 500,
                              "column": 12
                            },
                            "end": {
                              "line": 500,
                              "column": 64
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 19180,
                            "end": 19188,
                            "loc": {
                              "start": {
                                "line": 500,
                                "column": 12
                              },
                              "end": {
                                "line": 500,
                                "column": 20
                              }
                            },
                            "name": "geometry"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 19191,
                            "end": 19232,
                            "loc": {
                              "start": {
                                "line": 500,
                                "column": 23
                              },
                              "end": {
                                "line": 500,
                                "column": 64
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 19195,
                              "end": 19215,
                              "loc": {
                                "start": {
                                  "line": 500,
                                  "column": 27
                                },
                                "end": {
                                  "line": 500,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 19195,
                                "end": 19200,
                                "loc": {
                                  "start": {
                                    "line": 500,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 500,
                                    "column": 32
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 19201,
                                "end": 19215,
                                "loc": {
                                  "start": {
                                    "line": 500,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 500,
                                    "column": 47
                                  }
                                },
                                "name": "CircleGeometry"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 19216,
                                "end": 19227,
                                "loc": {
                                  "start": {
                                    "line": 500,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 500,
                                    "column": 59
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 19216,
                                  "end": 19220,
                                  "loc": {
                                    "start": {
                                      "line": 500,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 500,
                                      "column": 52
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 19221,
                                  "end": 19227,
                                  "loc": {
                                    "start": {
                                      "line": 500,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 500,
                                      "column": 59
                                    }
                                  },
                                  "name": "radius"
                                },
                                "computed": false
                              },
                              {
                                "type": "Literal",
                                "start": 19229,
                                "end": 19231,
                                "loc": {
                                  "start": {
                                    "line": 500,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 500,
                                    "column": 63
                                  }
                                },
                                "value": 32,
                                "rawValue": 32,
                                "raw": "32"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 19242,
                      "end": 19258,
                      "loc": {
                        "start": {
                          "line": 501,
                          "column": 8
                        },
                        "end": {
                          "line": 501,
                          "column": 24
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 19249,
                        "end": 19257,
                        "loc": {
                          "start": {
                            "line": 501,
                            "column": 15
                          },
                          "end": {
                            "line": 501,
                            "column": 23
                          }
                        },
                        "name": "geometry"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 19270,
              "end": 19791,
              "loc": {
                "start": {
                  "line": 504,
                  "column": 4
                },
                "end": {
                  "line": 515,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 19270,
                "end": 19293,
                "loc": {
                  "start": {
                    "line": 504,
                    "column": 4
                  },
                  "end": {
                    "line": 504,
                    "column": 27
                  }
                },
                "name": "updateAuxiliaryGeometry"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 19293,
                "end": 19791,
                "loc": {
                  "start": {
                    "line": 504,
                    "column": 27
                  },
                  "end": {
                    "line": 515,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 19296,
                  "end": 19791,
                  "loc": {
                    "start": {
                      "line": 504,
                      "column": 30
                    },
                    "end": {
                      "line": 515,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 19306,
                      "end": 19357,
                      "loc": {
                        "start": {
                          "line": 505,
                          "column": 8
                        },
                        "end": {
                          "line": 505,
                          "column": 59
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 19310,
                          "end": 19356,
                          "loc": {
                            "start": {
                              "line": 505,
                              "column": 12
                            },
                            "end": {
                              "line": 505,
                              "column": 58
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 19310,
                            "end": 19318,
                            "loc": {
                              "start": {
                                "line": 505,
                                "column": 12
                              },
                              "end": {
                                "line": 505,
                                "column": 20
                              }
                            },
                            "name": "geometry"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 19321,
                            "end": 19356,
                            "loc": {
                              "start": {
                                "line": 505,
                                "column": 23
                              },
                              "end": {
                                "line": 505,
                                "column": 58
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 19321,
                              "end": 19347,
                              "loc": {
                                "start": {
                                  "line": 505,
                                  "column": 23
                                },
                                "end": {
                                  "line": 505,
                                  "column": 49
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 19321,
                                "end": 19325,
                                "loc": {
                                  "start": {
                                    "line": 505,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 505,
                                    "column": 27
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 19326,
                                "end": 19347,
                                "loc": {
                                  "start": {
                                    "line": 505,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 505,
                                    "column": 49
                                  }
                                },
                                "name": "auxiliaryConstruction"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19348,
                              "end": 19356,
                              "loc": {
                                "start": {
                                  "line": 505,
                                  "column": 50
                                },
                                "end": {
                                  "line": 505,
                                  "column": 58
                                }
                              },
                              "name": "geometry"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 19366,
                      "end": 19401,
                      "loc": {
                        "start": {
                          "line": 506,
                          "column": 8
                        },
                        "end": {
                          "line": 506,
                          "column": 43
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 19370,
                          "end": 19400,
                          "loc": {
                            "start": {
                              "line": 506,
                              "column": 12
                            },
                            "end": {
                              "line": 506,
                              "column": 42
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 19370,
                            "end": 19379,
                            "loc": {
                              "start": {
                                "line": 506,
                                "column": 12
                              },
                              "end": {
                                "line": 506,
                                "column": 21
                              }
                            },
                            "name": "stepAngle"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 19382,
                            "end": 19400,
                            "loc": {
                              "start": {
                                "line": 506,
                                "column": 24
                              },
                              "end": {
                                "line": 506,
                                "column": 42
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 19383,
                              "end": 19394,
                              "loc": {
                                "start": {
                                  "line": 506,
                                  "column": 25
                                },
                                "end": {
                                  "line": 506,
                                  "column": 36
                                }
                              },
                              "left": {
                                "type": "Literal",
                                "start": 19383,
                                "end": 19384,
                                "loc": {
                                  "start": {
                                    "line": 506,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 506,
                                    "column": 26
                                  }
                                },
                                "value": 2,
                                "rawValue": 2,
                                "raw": "2"
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 19387,
                                "end": 19394,
                                "loc": {
                                  "start": {
                                    "line": 506,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 506,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 19387,
                                  "end": 19391,
                                  "loc": {
                                    "start": {
                                      "line": 506,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 506,
                                      "column": 33
                                    }
                                  },
                                  "name": "Math"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 19392,
                                  "end": 19394,
                                  "loc": {
                                    "start": {
                                      "line": 506,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 506,
                                      "column": 36
                                    }
                                  },
                                  "name": "PI"
                                },
                                "computed": false
                              },
                              "parenthesizedExpression": true
                            },
                            "operator": "/",
                            "right": {
                              "type": "Literal",
                              "start": 19398,
                              "end": 19400,
                              "loc": {
                                "start": {
                                  "line": 506,
                                  "column": 40
                                },
                                "end": {
                                  "line": 506,
                                  "column": 42
                                }
                              },
                              "value": 32,
                              "rawValue": 32,
                              "raw": "32"
                            }
                          }
                        }
                      ],
                      "kind": "var",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " circleGeometry segments = 32",
                          "start": 19402,
                          "end": 19433,
                          "loc": {
                            "start": {
                              "line": 506,
                              "column": 44
                            },
                            "end": {
                              "line": 506,
                              "column": 75
                            }
                          },
                          "range": [
                            19402,
                            19433
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ForStatement",
                      "start": 19443,
                      "end": 19666,
                      "loc": {
                        "start": {
                          "line": 508,
                          "column": 8
                        },
                        "end": {
                          "line": 511,
                          "column": 10
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 19448,
                        "end": 19457,
                        "loc": {
                          "start": {
                            "line": 508,
                            "column": 13
                          },
                          "end": {
                            "line": 508,
                            "column": 22
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 19452,
                            "end": 19457,
                            "loc": {
                              "start": {
                                "line": 508,
                                "column": 17
                              },
                              "end": {
                                "line": 508,
                                "column": 22
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 19452,
                              "end": 19453,
                              "loc": {
                                "start": {
                                  "line": 508,
                                  "column": 17
                                },
                                "end": {
                                  "line": 508,
                                  "column": 18
                                }
                              },
                              "name": "i",
                              "leadingComments": null
                            },
                            "init": {
                              "type": "Literal",
                              "start": 19456,
                              "end": 19457,
                              "loc": {
                                "start": {
                                  "line": 508,
                                  "column": 21
                                },
                                "end": {
                                  "line": 508,
                                  "column": 22
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "leadingComments": null
                          }
                        ],
                        "kind": "var",
                        "leadingComments": null
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 19459,
                        "end": 19487,
                        "loc": {
                          "start": {
                            "line": 508,
                            "column": 24
                          },
                          "end": {
                            "line": 508,
                            "column": 52
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 19459,
                          "end": 19460,
                          "loc": {
                            "start": {
                              "line": 508,
                              "column": 24
                            },
                            "end": {
                              "line": 508,
                              "column": 25
                            }
                          },
                          "name": "i"
                        },
                        "operator": "<",
                        "right": {
                          "type": "MemberExpression",
                          "start": 19463,
                          "end": 19487,
                          "loc": {
                            "start": {
                              "line": 508,
                              "column": 28
                            },
                            "end": {
                              "line": 508,
                              "column": 52
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 19463,
                            "end": 19480,
                            "loc": {
                              "start": {
                                "line": 508,
                                "column": 28
                              },
                              "end": {
                                "line": 508,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 19463,
                              "end": 19471,
                              "loc": {
                                "start": {
                                  "line": 508,
                                  "column": 28
                                },
                                "end": {
                                  "line": 508,
                                  "column": 36
                                }
                              },
                              "name": "geometry"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19472,
                              "end": 19480,
                              "loc": {
                                "start": {
                                  "line": 508,
                                  "column": 37
                                },
                                "end": {
                                  "line": 508,
                                  "column": 45
                                }
                              },
                              "name": "vertices"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19481,
                            "end": 19487,
                            "loc": {
                              "start": {
                                "line": 508,
                                "column": 46
                              },
                              "end": {
                                "line": 508,
                                "column": 52
                              }
                            },
                            "name": "length"
                          },
                          "computed": false
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 19489,
                        "end": 19492,
                        "loc": {
                          "start": {
                            "line": 508,
                            "column": 54
                          },
                          "end": {
                            "line": 508,
                            "column": 57
                          }
                        },
                        "operator": "++",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 19491,
                          "end": 19492,
                          "loc": {
                            "start": {
                              "line": 508,
                              "column": 56
                            },
                            "end": {
                              "line": 508,
                              "column": 57
                            }
                          },
                          "name": "i"
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 19494,
                        "end": 19666,
                        "loc": {
                          "start": {
                            "line": 508,
                            "column": 59
                          },
                          "end": {
                            "line": 511,
                            "column": 10
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 19508,
                            "end": 19575,
                            "loc": {
                              "start": {
                                "line": 509,
                                "column": 12
                              },
                              "end": {
                                "line": 509,
                                "column": 79
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 19508,
                              "end": 19574,
                              "loc": {
                                "start": {
                                  "line": 509,
                                  "column": 12
                                },
                                "end": {
                                  "line": 509,
                                  "column": 78
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 19508,
                                "end": 19530,
                                "loc": {
                                  "start": {
                                    "line": 509,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 509,
                                    "column": 34
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 19508,
                                  "end": 19528,
                                  "loc": {
                                    "start": {
                                      "line": 509,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 509,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 19508,
                                    "end": 19525,
                                    "loc": {
                                      "start": {
                                        "line": 509,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 509,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 19508,
                                      "end": 19516,
                                      "loc": {
                                        "start": {
                                          "line": 509,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 509,
                                          "column": 20
                                        }
                                      },
                                      "name": "geometry"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 19517,
                                      "end": 19525,
                                      "loc": {
                                        "start": {
                                          "line": 509,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 509,
                                          "column": 29
                                        }
                                      },
                                      "name": "vertices"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 19526,
                                    "end": 19527,
                                    "loc": {
                                      "start": {
                                        "line": 509,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 509,
                                        "column": 31
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 19529,
                                  "end": 19530,
                                  "loc": {
                                    "start": {
                                      "line": 509,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 509,
                                      "column": 34
                                    }
                                  },
                                  "name": "x"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "BinaryExpression",
                                "start": 19533,
                                "end": 19574,
                                "loc": {
                                  "start": {
                                    "line": 509,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 509,
                                    "column": 78
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 19533,
                                  "end": 19544,
                                  "loc": {
                                    "start": {
                                      "line": 509,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 509,
                                      "column": 48
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 19533,
                                    "end": 19537,
                                    "loc": {
                                      "start": {
                                        "line": 509,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 509,
                                        "column": 41
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 19538,
                                    "end": 19544,
                                    "loc": {
                                      "start": {
                                        "line": 509,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 509,
                                        "column": 48
                                      }
                                    },
                                    "name": "radius"
                                  },
                                  "computed": false
                                },
                                "operator": "*",
                                "right": {
                                  "type": "CallExpression",
                                  "start": 19547,
                                  "end": 19574,
                                  "loc": {
                                    "start": {
                                      "line": 509,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 509,
                                      "column": 78
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 19547,
                                    "end": 19555,
                                    "loc": {
                                      "start": {
                                        "line": 509,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 509,
                                        "column": 59
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 19547,
                                      "end": 19551,
                                      "loc": {
                                        "start": {
                                          "line": 509,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 509,
                                          "column": 55
                                        }
                                      },
                                      "name": "Math"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 19552,
                                      "end": 19555,
                                      "loc": {
                                        "start": {
                                          "line": 509,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 509,
                                          "column": 59
                                        }
                                      },
                                      "name": "cos"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "BinaryExpression",
                                      "start": 19556,
                                      "end": 19573,
                                      "loc": {
                                        "start": {
                                          "line": 509,
                                          "column": 60
                                        },
                                        "end": {
                                          "line": 509,
                                          "column": 77
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 19556,
                                        "end": 19565,
                                        "loc": {
                                          "start": {
                                            "line": 509,
                                            "column": 60
                                          },
                                          "end": {
                                            "line": 509,
                                            "column": 69
                                          }
                                        },
                                        "name": "stepAngle"
                                      },
                                      "operator": "*",
                                      "right": {
                                        "type": "BinaryExpression",
                                        "start": 19569,
                                        "end": 19572,
                                        "loc": {
                                          "start": {
                                            "line": 509,
                                            "column": 73
                                          },
                                          "end": {
                                            "line": 509,
                                            "column": 76
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 19569,
                                          "end": 19570,
                                          "loc": {
                                            "start": {
                                              "line": 509,
                                              "column": 73
                                            },
                                            "end": {
                                              "line": 509,
                                              "column": 74
                                            }
                                          },
                                          "name": "i"
                                        },
                                        "operator": "-",
                                        "right": {
                                          "type": "Literal",
                                          "start": 19571,
                                          "end": 19572,
                                          "loc": {
                                            "start": {
                                              "line": 509,
                                              "column": 75
                                            },
                                            "end": {
                                              "line": 509,
                                              "column": 76
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "parenthesizedExpression": true
                                      }
                                    }
                                  ]
                                }
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 19588,
                            "end": 19655,
                            "loc": {
                              "start": {
                                "line": 510,
                                "column": 12
                              },
                              "end": {
                                "line": 510,
                                "column": 79
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 19588,
                              "end": 19654,
                              "loc": {
                                "start": {
                                  "line": 510,
                                  "column": 12
                                },
                                "end": {
                                  "line": 510,
                                  "column": 78
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 19588,
                                "end": 19610,
                                "loc": {
                                  "start": {
                                    "line": 510,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 510,
                                    "column": 34
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 19588,
                                  "end": 19608,
                                  "loc": {
                                    "start": {
                                      "line": 510,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 510,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 19588,
                                    "end": 19605,
                                    "loc": {
                                      "start": {
                                        "line": 510,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 510,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 19588,
                                      "end": 19596,
                                      "loc": {
                                        "start": {
                                          "line": 510,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 510,
                                          "column": 20
                                        }
                                      },
                                      "name": "geometry"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 19597,
                                      "end": 19605,
                                      "loc": {
                                        "start": {
                                          "line": 510,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 510,
                                          "column": 29
                                        }
                                      },
                                      "name": "vertices"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 19606,
                                    "end": 19607,
                                    "loc": {
                                      "start": {
                                        "line": 510,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 510,
                                        "column": 31
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 19609,
                                  "end": 19610,
                                  "loc": {
                                    "start": {
                                      "line": 510,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 510,
                                      "column": 34
                                    }
                                  },
                                  "name": "y"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "BinaryExpression",
                                "start": 19613,
                                "end": 19654,
                                "loc": {
                                  "start": {
                                    "line": 510,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 510,
                                    "column": 78
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 19613,
                                  "end": 19624,
                                  "loc": {
                                    "start": {
                                      "line": 510,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 510,
                                      "column": 48
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 19613,
                                    "end": 19617,
                                    "loc": {
                                      "start": {
                                        "line": 510,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 510,
                                        "column": 41
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 19618,
                                    "end": 19624,
                                    "loc": {
                                      "start": {
                                        "line": 510,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 510,
                                        "column": 48
                                      }
                                    },
                                    "name": "radius"
                                  },
                                  "computed": false
                                },
                                "operator": "*",
                                "right": {
                                  "type": "CallExpression",
                                  "start": 19627,
                                  "end": 19654,
                                  "loc": {
                                    "start": {
                                      "line": 510,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 510,
                                      "column": 78
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 19627,
                                    "end": 19635,
                                    "loc": {
                                      "start": {
                                        "line": 510,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 510,
                                        "column": 59
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 19627,
                                      "end": 19631,
                                      "loc": {
                                        "start": {
                                          "line": 510,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 510,
                                          "column": 55
                                        }
                                      },
                                      "name": "Math"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 19632,
                                      "end": 19635,
                                      "loc": {
                                        "start": {
                                          "line": 510,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 510,
                                          "column": 59
                                        }
                                      },
                                      "name": "sin"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "BinaryExpression",
                                      "start": 19636,
                                      "end": 19653,
                                      "loc": {
                                        "start": {
                                          "line": 510,
                                          "column": 60
                                        },
                                        "end": {
                                          "line": 510,
                                          "column": 77
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 19636,
                                        "end": 19645,
                                        "loc": {
                                          "start": {
                                            "line": 510,
                                            "column": 60
                                          },
                                          "end": {
                                            "line": 510,
                                            "column": 69
                                          }
                                        },
                                        "name": "stepAngle"
                                      },
                                      "operator": "*",
                                      "right": {
                                        "type": "BinaryExpression",
                                        "start": 19649,
                                        "end": 19652,
                                        "loc": {
                                          "start": {
                                            "line": 510,
                                            "column": 73
                                          },
                                          "end": {
                                            "line": 510,
                                            "column": 76
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 19649,
                                          "end": 19650,
                                          "loc": {
                                            "start": {
                                              "line": 510,
                                              "column": 73
                                            },
                                            "end": {
                                              "line": 510,
                                              "column": 74
                                            }
                                          },
                                          "name": "i"
                                        },
                                        "operator": "-",
                                        "right": {
                                          "type": "Literal",
                                          "start": 19651,
                                          "end": 19652,
                                          "loc": {
                                            "start": {
                                              "line": 510,
                                              "column": 75
                                            },
                                            "end": {
                                              "line": 510,
                                              "column": 76
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "parenthesizedExpression": true
                                      }
                                    }
                                  ]
                                }
                              }
                            }
                          }
                        ]
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " circleGeometry segments = 32",
                          "start": 19402,
                          "end": 19433,
                          "loc": {
                            "start": {
                              "line": 506,
                              "column": 44
                            },
                            "end": {
                              "line": 506,
                              "column": 75
                            }
                          },
                          "range": [
                            19402,
                            19433
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 19675,
                      "end": 19740,
                      "loc": {
                        "start": {
                          "line": 512,
                          "column": 8
                        },
                        "end": {
                          "line": 512,
                          "column": 73
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 19675,
                        "end": 19739,
                        "loc": {
                          "start": {
                            "line": 512,
                            "column": 8
                          },
                          "end": {
                            "line": 512,
                            "column": 72
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 19675,
                          "end": 19715,
                          "loc": {
                            "start": {
                              "line": 512,
                              "column": 8
                            },
                            "end": {
                              "line": 512,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 19675,
                            "end": 19710,
                            "loc": {
                              "start": {
                                "line": 512,
                                "column": 8
                              },
                              "end": {
                                "line": 512,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 19675,
                              "end": 19701,
                              "loc": {
                                "start": {
                                  "line": 512,
                                  "column": 8
                                },
                                "end": {
                                  "line": 512,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 19675,
                                "end": 19679,
                                "loc": {
                                  "start": {
                                    "line": 512,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 512,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 19680,
                                "end": 19701,
                                "loc": {
                                  "start": {
                                    "line": 512,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 512,
                                    "column": 34
                                  }
                                },
                                "name": "auxiliaryConstruction"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19702,
                              "end": 19710,
                              "loc": {
                                "start": {
                                  "line": 512,
                                  "column": 35
                                },
                                "end": {
                                  "line": 512,
                                  "column": 43
                                }
                              },
                              "name": "position"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19711,
                            "end": 19715,
                            "loc": {
                              "start": {
                                "line": 512,
                                "column": 44
                              },
                              "end": {
                                "line": 512,
                                "column": 48
                              }
                            },
                            "name": "copy"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 19716,
                            "end": 19738,
                            "loc": {
                              "start": {
                                "line": 512,
                                "column": 49
                              },
                              "end": {
                                "line": 512,
                                "column": 71
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 19716,
                              "end": 19729,
                              "loc": {
                                "start": {
                                  "line": 512,
                                  "column": 49
                                },
                                "end": {
                                  "line": 512,
                                  "column": 62
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 19716,
                                "end": 19720,
                                "loc": {
                                  "start": {
                                    "line": 512,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 512,
                                    "column": 53
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 19721,
                                "end": 19729,
                                "loc": {
                                  "start": {
                                    "line": 512,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 512,
                                    "column": 62
                                  }
                                },
                                "name": "interact"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19730,
                              "end": 19738,
                              "loc": {
                                "start": {
                                  "line": 512,
                                  "column": 63
                                },
                                "end": {
                                  "line": 512,
                                  "column": 71
                                }
                              },
                              "name": "position"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 19750,
                      "end": 19785,
                      "loc": {
                        "start": {
                          "line": 514,
                          "column": 8
                        },
                        "end": {
                          "line": 514,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 19750,
                        "end": 19784,
                        "loc": {
                          "start": {
                            "line": 514,
                            "column": 8
                          },
                          "end": {
                            "line": 514,
                            "column": 42
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 19750,
                          "end": 19777,
                          "loc": {
                            "start": {
                              "line": 514,
                              "column": 8
                            },
                            "end": {
                              "line": 514,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 19750,
                            "end": 19758,
                            "loc": {
                              "start": {
                                "line": 514,
                                "column": 8
                              },
                              "end": {
                                "line": 514,
                                "column": 16
                              }
                            },
                            "name": "geometry"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19759,
                            "end": 19777,
                            "loc": {
                              "start": {
                                "line": 514,
                                "column": 17
                              },
                              "end": {
                                "line": 514,
                                "column": 35
                              }
                            },
                            "name": "verticesNeedUpdate"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 19780,
                          "end": 19784,
                          "loc": {
                            "start": {
                              "line": 514,
                              "column": 38
                            },
                            "end": {
                              "line": 514,
                              "column": 42
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "required methods for updateSizes",
                  "start": 19796,
                  "end": 19830,
                  "loc": {
                    "start": {
                      "line": 516,
                      "column": 4
                    },
                    "end": {
                      "line": 516,
                      "column": 38
                    }
                  },
                  "range": [
                    19796,
                    19830
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 19835,
              "end": 19901,
              "loc": {
                "start": {
                  "line": 517,
                  "column": 4
                },
                "end": {
                  "line": 519,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 19835,
                "end": 19849,
                "loc": {
                  "start": {
                    "line": 517,
                    "column": 4
                  },
                  "end": {
                    "line": 517,
                    "column": 18
                  }
                },
                "name": "getSizingPoint",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 19849,
                "end": 19901,
                "loc": {
                  "start": {
                    "line": 517,
                    "column": 18
                  },
                  "end": {
                    "line": 519,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 19852,
                  "end": 19901,
                  "loc": {
                    "start": {
                      "line": 517,
                      "column": 21
                    },
                    "end": {
                      "line": 519,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 19862,
                      "end": 19895,
                      "loc": {
                        "start": {
                          "line": 518,
                          "column": 8
                        },
                        "end": {
                          "line": 518,
                          "column": 41
                        }
                      },
                      "argument": {
                        "type": "MemberExpression",
                        "start": 19869,
                        "end": 19894,
                        "loc": {
                          "start": {
                            "line": 518,
                            "column": 15
                          },
                          "end": {
                            "line": 518,
                            "column": 40
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 19869,
                          "end": 19885,
                          "loc": {
                            "start": {
                              "line": 518,
                              "column": 15
                            },
                            "end": {
                              "line": 518,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 19869,
                            "end": 19873,
                            "loc": {
                              "start": {
                                "line": 518,
                                "column": 15
                              },
                              "end": {
                                "line": 518,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19874,
                            "end": 19885,
                            "loc": {
                              "start": {
                                "line": 518,
                                "column": 20
                              },
                              "end": {
                                "line": 518,
                                "column": 31
                              }
                            },
                            "name": "centerPoint"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 19886,
                          "end": 19894,
                          "loc": {
                            "start": {
                              "line": 518,
                              "column": 32
                            },
                            "end": {
                              "line": 518,
                              "column": 40
                            }
                          },
                          "name": "position"
                        },
                        "computed": false
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "required methods for updateSizes",
                  "start": 19796,
                  "end": 19830,
                  "loc": {
                    "start": {
                      "line": 516,
                      "column": 4
                    },
                    "end": {
                      "line": 516,
                      "column": 38
                    }
                  },
                  "range": [
                    19796,
                    19830
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 19906,
              "end": 20074,
              "loc": {
                "start": {
                  "line": 520,
                  "column": 4
                },
                "end": {
                  "line": 524,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 19906,
                "end": 19918,
                "loc": {
                  "start": {
                    "line": 520,
                    "column": 4
                  },
                  "end": {
                    "line": 520,
                    "column": 16
                  }
                },
                "name": "setGeomSizes"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 19918,
                "end": 20074,
                "loc": {
                  "start": {
                    "line": 520,
                    "column": 16
                  },
                  "end": {
                    "line": 524,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 19919,
                    "end": 19924,
                    "loc": {
                      "start": {
                        "line": 520,
                        "column": 17
                      },
                      "end": {
                        "line": 520,
                        "column": 22
                      }
                    },
                    "name": "sizes"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 19926,
                  "end": 20074,
                  "loc": {
                    "start": {
                      "line": 520,
                      "column": 24
                    },
                    "end": {
                      "line": 524,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 19936,
                      "end": 19958,
                      "loc": {
                        "start": {
                          "line": 521,
                          "column": 8
                        },
                        "end": {
                          "line": 521,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 19936,
                        "end": 19957,
                        "loc": {
                          "start": {
                            "line": 521,
                            "column": 8
                          },
                          "end": {
                            "line": 521,
                            "column": 29
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 19936,
                          "end": 19946,
                          "loc": {
                            "start": {
                              "line": 521,
                              "column": 8
                            },
                            "end": {
                              "line": 521,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 19936,
                            "end": 19940,
                            "loc": {
                              "start": {
                                "line": 521,
                                "column": 8
                              },
                              "end": {
                                "line": 521,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19941,
                            "end": 19946,
                            "loc": {
                              "start": {
                                "line": 521,
                                "column": 13
                              },
                              "end": {
                                "line": 521,
                                "column": 18
                              }
                            },
                            "name": "width"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 19949,
                          "end": 19957,
                          "loc": {
                            "start": {
                              "line": 521,
                              "column": 21
                            },
                            "end": {
                              "line": 521,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 19949,
                            "end": 19954,
                            "loc": {
                              "start": {
                                "line": 521,
                                "column": 21
                              },
                              "end": {
                                "line": 521,
                                "column": 26
                              }
                            },
                            "name": "sizes"
                          },
                          "property": {
                            "type": "Literal",
                            "start": 19955,
                            "end": 19956,
                            "loc": {
                              "start": {
                                "line": 521,
                                "column": 27
                              },
                              "end": {
                                "line": 521,
                                "column": 28
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "computed": true
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 19967,
                      "end": 20068,
                      "loc": {
                        "start": {
                          "line": 522,
                          "column": 8
                        },
                        "end": {
                          "line": 523,
                          "column": 62
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 19971,
                        "end": 20004,
                        "loc": {
                          "start": {
                            "line": 522,
                            "column": 12
                          },
                          "end": {
                            "line": 522,
                            "column": 45
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 19971,
                          "end": 19996,
                          "loc": {
                            "start": {
                              "line": 522,
                              "column": 12
                            },
                            "end": {
                              "line": 522,
                              "column": 37
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 19971,
                            "end": 19975,
                            "loc": {
                              "start": {
                                "line": 522,
                                "column": 12
                              },
                              "end": {
                                "line": 522,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19976,
                            "end": 19996,
                            "loc": {
                              "start": {
                                "line": 522,
                                "column": 17
                              },
                              "end": {
                                "line": 522,
                                "column": 37
                              }
                            },
                            "name": "constraintsSubstrate"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 19997,
                          "end": 20004,
                          "loc": {
                            "start": {
                              "line": 522,
                              "column": 38
                            },
                            "end": {
                              "line": 522,
                              "column": 45
                            }
                          },
                          "name": "visible"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 20018,
                        "end": 20068,
                        "loc": {
                          "start": {
                            "line": 523,
                            "column": 12
                          },
                          "end": {
                            "line": 523,
                            "column": 62
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 20018,
                          "end": 20067,
                          "loc": {
                            "start": {
                              "line": 523,
                              "column": 12
                            },
                            "end": {
                              "line": 523,
                              "column": 61
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 20018,
                            "end": 20061,
                            "loc": {
                              "start": {
                                "line": 523,
                                "column": 12
                              },
                              "end": {
                                "line": 523,
                                "column": 55
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 20018,
                              "end": 20043,
                              "loc": {
                                "start": {
                                  "line": 523,
                                  "column": 12
                                },
                                "end": {
                                  "line": 523,
                                  "column": 37
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 20018,
                                "end": 20037,
                                "loc": {
                                  "start": {
                                    "line": 523,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 523,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 20018,
                                  "end": 20024,
                                  "loc": {
                                    "start": {
                                      "line": 523,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 523,
                                      "column": 18
                                    }
                                  },
                                  "name": "Sketch"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 20025,
                                  "end": 20037,
                                  "loc": {
                                    "start": {
                                      "line": 523,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 523,
                                      "column": 31
                                    }
                                  },
                                  "name": "FindSketchOf"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ThisExpression",
                                  "start": 20038,
                                  "end": 20042,
                                  "loc": {
                                    "start": {
                                      "line": 523,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 523,
                                      "column": 36
                                    }
                                  }
                                }
                              ]
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 20044,
                              "end": 20061,
                              "loc": {
                                "start": {
                                  "line": 523,
                                  "column": 38
                                },
                                "end": {
                                  "line": 523,
                                  "column": 55
                                }
                              },
                              "name": "updateConstraints"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 20062,
                              "end": 20066,
                              "loc": {
                                "start": {
                                  "line": 523,
                                  "column": 56
                                },
                                "end": {
                                  "line": 523,
                                  "column": 60
                                }
                              }
                            }
                          ]
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 20080,
              "end": 20411,
              "loc": {
                "start": {
                  "line": 526,
                  "column": 4
                },
                "end": {
                  "line": 531,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 20080,
                "end": 20100,
                "loc": {
                  "start": {
                    "line": 526,
                    "column": 4
                  },
                  "end": {
                    "line": 526,
                    "column": 24
                  }
                },
                "name": "getSubstratePosition"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 20100,
                "end": 20411,
                "loc": {
                  "start": {
                    "line": 526,
                    "column": 24
                  },
                  "end": {
                    "line": 531,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 20101,
                    "end": 20104,
                    "loc": {
                      "start": {
                        "line": 526,
                        "column": 25
                      },
                      "end": {
                        "line": 526,
                        "column": 28
                      }
                    },
                    "name": "len"
                  },
                  {
                    "type": "Identifier",
                    "start": 20106,
                    "end": 20110,
                    "loc": {
                      "start": {
                        "line": 526,
                        "column": 30
                      },
                      "end": {
                        "line": 526,
                        "column": 34
                      }
                    },
                    "name": "size"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 20112,
                  "end": 20411,
                  "loc": {
                    "start": {
                      "line": 526,
                      "column": 36
                    },
                    "end": {
                      "line": 531,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 20122,
                      "end": 20172,
                      "loc": {
                        "start": {
                          "line": 527,
                          "column": 8
                        },
                        "end": {
                          "line": 527,
                          "column": 58
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 20126,
                          "end": 20171,
                          "loc": {
                            "start": {
                              "line": 527,
                              "column": 12
                            },
                            "end": {
                              "line": 527,
                              "column": 57
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 20126,
                            "end": 20131,
                            "loc": {
                              "start": {
                                "line": 527,
                                "column": 12
                              },
                              "end": {
                                "line": 527,
                                "column": 17
                              }
                            },
                            "name": "angle"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 20134,
                            "end": 20171,
                            "loc": {
                              "start": {
                                "line": 527,
                                "column": 20
                              },
                              "end": {
                                "line": 527,
                                "column": 57
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 20135,
                              "end": 20166,
                              "loc": {
                                "start": {
                                  "line": 527,
                                  "column": 21
                                },
                                "end": {
                                  "line": 527,
                                  "column": 52
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 20135,
                                "end": 20150,
                                "loc": {
                                  "start": {
                                    "line": 527,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 527,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 20135,
                                  "end": 20139,
                                  "loc": {
                                    "start": {
                                      "line": 527,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 527,
                                      "column": 25
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 20140,
                                  "end": 20150,
                                  "loc": {
                                    "start": {
                                      "line": 527,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 527,
                                      "column": 36
                                    }
                                  },
                                  "name": "angleStart"
                                },
                                "computed": false
                              },
                              "operator": "+",
                              "right": {
                                "type": "MemberExpression",
                                "start": 20153,
                                "end": 20166,
                                "loc": {
                                  "start": {
                                    "line": 527,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 527,
                                    "column": 52
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 20153,
                                  "end": 20157,
                                  "loc": {
                                    "start": {
                                      "line": 527,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 527,
                                      "column": 43
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 20158,
                                  "end": 20166,
                                  "loc": {
                                    "start": {
                                      "line": 527,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 527,
                                      "column": 52
                                    }
                                  },
                                  "name": "angleEnd"
                                },
                                "computed": false
                              },
                              "parenthesizedExpression": true
                            },
                            "operator": "/",
                            "right": {
                              "type": "Literal",
                              "start": 20170,
                              "end": 20171,
                              "loc": {
                                "start": {
                                  "line": 527,
                                  "column": 56
                                },
                                "end": {
                                  "line": 527,
                                  "column": 57
                                }
                              },
                              "value": 2,
                              "rawValue": 2,
                              "raw": "2"
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 20181,
                      "end": 20312,
                      "loc": {
                        "start": {
                          "line": 528,
                          "column": 8
                        },
                        "end": {
                          "line": 528,
                          "column": 139
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 20185,
                          "end": 20311,
                          "loc": {
                            "start": {
                              "line": 528,
                              "column": 12
                            },
                            "end": {
                              "line": 528,
                              "column": 138
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 20185,
                            "end": 20191,
                            "loc": {
                              "start": {
                                "line": 528,
                                "column": 12
                              },
                              "end": {
                                "line": 528,
                                "column": 18
                              }
                            },
                            "name": "vector"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 20194,
                            "end": 20311,
                            "loc": {
                              "start": {
                                "line": 528,
                                "column": 21
                              },
                              "end": {
                                "line": 528,
                                "column": 138
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 20198,
                              "end": 20211,
                              "loc": {
                                "start": {
                                  "line": 528,
                                  "column": 25
                                },
                                "end": {
                                  "line": 528,
                                  "column": 38
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 20198,
                                "end": 20203,
                                "loc": {
                                  "start": {
                                    "line": 528,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 528,
                                    "column": 30
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 20204,
                                "end": 20211,
                                "loc": {
                                  "start": {
                                    "line": 528,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 528,
                                    "column": 38
                                  }
                                },
                                "name": "Vector3"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "BinaryExpression",
                                "start": 20212,
                                "end": 20258,
                                "loc": {
                                  "start": {
                                    "line": 528,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 528,
                                    "column": 85
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 20213,
                                  "end": 20239,
                                  "loc": {
                                    "start": {
                                      "line": 528,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 528,
                                      "column": 66
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 20213,
                                    "end": 20232,
                                    "loc": {
                                      "start": {
                                        "line": 528,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 528,
                                        "column": 59
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 20213,
                                      "end": 20224,
                                      "loc": {
                                        "start": {
                                          "line": 528,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 528,
                                          "column": 51
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 20213,
                                        "end": 20217,
                                        "loc": {
                                          "start": {
                                            "line": 528,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 528,
                                            "column": 44
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 20218,
                                        "end": 20224,
                                        "loc": {
                                          "start": {
                                            "line": 528,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 528,
                                            "column": 51
                                          }
                                        },
                                        "name": "radius"
                                      },
                                      "computed": false
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 20227,
                                      "end": 20232,
                                      "loc": {
                                        "start": {
                                          "line": 528,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 528,
                                          "column": 59
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 20227,
                                        "end": 20230,
                                        "loc": {
                                          "start": {
                                            "line": 528,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 528,
                                            "column": 57
                                          }
                                        },
                                        "name": "len"
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "Literal",
                                        "start": 20231,
                                        "end": 20232,
                                        "loc": {
                                          "start": {
                                            "line": 528,
                                            "column": 58
                                          },
                                          "end": {
                                            "line": 528,
                                            "column": 59
                                          }
                                        },
                                        "value": 2,
                                        "rawValue": 2,
                                        "raw": "2"
                                      }
                                    }
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 20235,
                                    "end": 20239,
                                    "loc": {
                                      "start": {
                                        "line": 528,
                                        "column": 62
                                      },
                                      "end": {
                                        "line": 528,
                                        "column": 66
                                      }
                                    },
                                    "name": "size"
                                  },
                                  "parenthesizedExpression": true
                                },
                                "operator": "*",
                                "right": {
                                  "type": "CallExpression",
                                  "start": 20243,
                                  "end": 20258,
                                  "loc": {
                                    "start": {
                                      "line": 528,
                                      "column": 70
                                    },
                                    "end": {
                                      "line": 528,
                                      "column": 85
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 20243,
                                    "end": 20251,
                                    "loc": {
                                      "start": {
                                        "line": 528,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 528,
                                        "column": 78
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 20243,
                                      "end": 20247,
                                      "loc": {
                                        "start": {
                                          "line": 528,
                                          "column": 70
                                        },
                                        "end": {
                                          "line": 528,
                                          "column": 74
                                        }
                                      },
                                      "name": "Math"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 20248,
                                      "end": 20251,
                                      "loc": {
                                        "start": {
                                          "line": 528,
                                          "column": 75
                                        },
                                        "end": {
                                          "line": 528,
                                          "column": 78
                                        }
                                      },
                                      "name": "cos"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 20252,
                                      "end": 20257,
                                      "loc": {
                                        "start": {
                                          "line": 528,
                                          "column": 79
                                        },
                                        "end": {
                                          "line": 528,
                                          "column": 84
                                        }
                                      },
                                      "name": "angle"
                                    }
                                  ]
                                }
                              },
                              {
                                "type": "BinaryExpression",
                                "start": 20260,
                                "end": 20307,
                                "loc": {
                                  "start": {
                                    "line": 528,
                                    "column": 87
                                  },
                                  "end": {
                                    "line": 528,
                                    "column": 134
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 20261,
                                  "end": 20288,
                                  "loc": {
                                    "start": {
                                      "line": 528,
                                      "column": 88
                                    },
                                    "end": {
                                      "line": 528,
                                      "column": 115
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 20261,
                                    "end": 20279,
                                    "loc": {
                                      "start": {
                                        "line": 528,
                                        "column": 88
                                      },
                                      "end": {
                                        "line": 528,
                                        "column": 106
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 20261,
                                      "end": 20272,
                                      "loc": {
                                        "start": {
                                          "line": 528,
                                          "column": 88
                                        },
                                        "end": {
                                          "line": 528,
                                          "column": 99
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 20261,
                                        "end": 20265,
                                        "loc": {
                                          "start": {
                                            "line": 528,
                                            "column": 88
                                          },
                                          "end": {
                                            "line": 528,
                                            "column": 92
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 20266,
                                        "end": 20272,
                                        "loc": {
                                          "start": {
                                            "line": 528,
                                            "column": 93
                                          },
                                          "end": {
                                            "line": 528,
                                            "column": 99
                                          }
                                        },
                                        "name": "radius"
                                      },
                                      "computed": false
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 20275,
                                      "end": 20279,
                                      "loc": {
                                        "start": {
                                          "line": 528,
                                          "column": 102
                                        },
                                        "end": {
                                          "line": 528,
                                          "column": 106
                                        }
                                      },
                                      "name": "size"
                                    }
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 20282,
                                    "end": 20288,
                                    "loc": {
                                      "start": {
                                        "line": 528,
                                        "column": 109
                                      },
                                      "end": {
                                        "line": 528,
                                        "column": 115
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 20282,
                                      "end": 20286,
                                      "loc": {
                                        "start": {
                                          "line": 528,
                                          "column": 109
                                        },
                                        "end": {
                                          "line": 528,
                                          "column": 113
                                        }
                                      },
                                      "name": "size"
                                    },
                                    "operator": "/",
                                    "right": {
                                      "type": "Literal",
                                      "start": 20287,
                                      "end": 20288,
                                      "loc": {
                                        "start": {
                                          "line": 528,
                                          "column": 114
                                        },
                                        "end": {
                                          "line": 528,
                                          "column": 115
                                        }
                                      },
                                      "value": 2,
                                      "rawValue": 2,
                                      "raw": "2"
                                    }
                                  },
                                  "parenthesizedExpression": true
                                },
                                "operator": "*",
                                "right": {
                                  "type": "CallExpression",
                                  "start": 20292,
                                  "end": 20307,
                                  "loc": {
                                    "start": {
                                      "line": 528,
                                      "column": 119
                                    },
                                    "end": {
                                      "line": 528,
                                      "column": 134
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 20292,
                                    "end": 20300,
                                    "loc": {
                                      "start": {
                                        "line": 528,
                                        "column": 119
                                      },
                                      "end": {
                                        "line": 528,
                                        "column": 127
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 20292,
                                      "end": 20296,
                                      "loc": {
                                        "start": {
                                          "line": 528,
                                          "column": 119
                                        },
                                        "end": {
                                          "line": 528,
                                          "column": 123
                                        }
                                      },
                                      "name": "Math"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 20297,
                                      "end": 20300,
                                      "loc": {
                                        "start": {
                                          "line": 528,
                                          "column": 124
                                        },
                                        "end": {
                                          "line": 528,
                                          "column": 127
                                        }
                                      },
                                      "name": "sin"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 20301,
                                      "end": 20306,
                                      "loc": {
                                        "start": {
                                          "line": 528,
                                          "column": 128
                                        },
                                        "end": {
                                          "line": 528,
                                          "column": 133
                                        }
                                      },
                                      "name": "angle"
                                    }
                                  ]
                                }
                              },
                              {
                                "type": "Literal",
                                "start": 20309,
                                "end": 20310,
                                "loc": {
                                  "start": {
                                    "line": 528,
                                    "column": 136
                                  },
                                  "end": {
                                    "line": 528,
                                    "column": 137
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 20321,
                      "end": 20385,
                      "loc": {
                        "start": {
                          "line": 529,
                          "column": 8
                        },
                        "end": {
                          "line": 529,
                          "column": 72
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 20325,
                          "end": 20384,
                          "loc": {
                            "start": {
                              "line": 529,
                              "column": 12
                            },
                            "end": {
                              "line": 529,
                              "column": 71
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 20325,
                            "end": 20328,
                            "loc": {
                              "start": {
                                "line": 529,
                                "column": 12
                              },
                              "end": {
                                "line": 529,
                                "column": 15
                              }
                            },
                            "name": "pos"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 20331,
                            "end": 20384,
                            "loc": {
                              "start": {
                                "line": 529,
                                "column": 18
                              },
                              "end": {
                                "line": 529,
                                "column": 71
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 20331,
                              "end": 20368,
                              "loc": {
                                "start": {
                                  "line": 529,
                                  "column": 18
                                },
                                "end": {
                                  "line": 529,
                                  "column": 55
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 20331,
                                "end": 20364,
                                "loc": {
                                  "start": {
                                    "line": 529,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 529,
                                    "column": 51
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 20331,
                                  "end": 20362,
                                  "loc": {
                                    "start": {
                                      "line": 529,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 529,
                                      "column": 49
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 20331,
                                    "end": 20356,
                                    "loc": {
                                      "start": {
                                        "line": 529,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 529,
                                        "column": 43
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 20331,
                                      "end": 20347,
                                      "loc": {
                                        "start": {
                                          "line": 529,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 529,
                                          "column": 34
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 20331,
                                        "end": 20335,
                                        "loc": {
                                          "start": {
                                            "line": 529,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 529,
                                            "column": 22
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 20336,
                                        "end": 20347,
                                        "loc": {
                                          "start": {
                                            "line": 529,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 529,
                                            "column": 34
                                          }
                                        },
                                        "name": "centerPoint"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 20348,
                                      "end": 20356,
                                      "loc": {
                                        "start": {
                                          "line": 529,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 529,
                                          "column": 43
                                        }
                                      },
                                      "name": "position"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 20357,
                                    "end": 20362,
                                    "loc": {
                                      "start": {
                                        "line": 529,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 529,
                                        "column": 49
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 20365,
                                "end": 20368,
                                "loc": {
                                  "start": {
                                    "line": 529,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 529,
                                    "column": 55
                                  }
                                },
                                "name": "add"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 20369,
                                "end": 20383,
                                "loc": {
                                  "start": {
                                    "line": 529,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 529,
                                    "column": 70
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 20369,
                                  "end": 20381,
                                  "loc": {
                                    "start": {
                                      "line": 529,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 529,
                                      "column": 68
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 20369,
                                    "end": 20375,
                                    "loc": {
                                      "start": {
                                        "line": 529,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 529,
                                        "column": 62
                                      }
                                    },
                                    "name": "vector"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 20376,
                                    "end": 20381,
                                    "loc": {
                                      "start": {
                                        "line": 529,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 529,
                                        "column": 68
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 20394,
                      "end": 20405,
                      "loc": {
                        "start": {
                          "line": 530,
                          "column": 8
                        },
                        "end": {
                          "line": 530,
                          "column": 19
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 20401,
                        "end": 20404,
                        "loc": {
                          "start": {
                            "line": 530,
                            "column": 15
                          },
                          "end": {
                            "line": 530,
                            "column": 18
                          }
                        },
                        "name": "pos"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 20417,
              "end": 21845,
              "loc": {
                "start": {
                  "line": 533,
                  "column": 4
                },
                "end": {
                  "line": 557,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 20417,
                "end": 20436,
                "loc": {
                  "start": {
                    "line": 533,
                    "column": 4
                  },
                  "end": {
                    "line": 533,
                    "column": 23
                  }
                },
                "name": "updateVisualization"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 20436,
                "end": 21845,
                "loc": {
                  "start": {
                    "line": 533,
                    "column": 23
                  },
                  "end": {
                    "line": 557,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 20439,
                  "end": 21845,
                  "loc": {
                    "start": {
                      "line": 533,
                      "column": 26
                    },
                    "end": {
                      "line": 557,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 20518,
                      "end": 20687,
                      "loc": {
                        "start": {
                          "line": 535,
                          "column": 8
                        },
                        "end": {
                          "line": 537,
                          "column": 10
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 20522,
                          "end": 20686,
                          "loc": {
                            "start": {
                              "line": 535,
                              "column": 12
                            },
                            "end": {
                              "line": 537,
                              "column": 9
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 20522,
                            "end": 20536,
                            "loc": {
                              "start": {
                                "line": 535,
                                "column": 12
                              },
                              "end": {
                                "line": 535,
                                "column": 26
                              }
                            },
                            "name": "areArraysEqual",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "FunctionExpression",
                            "start": 20539,
                            "end": 20686,
                            "loc": {
                              "start": {
                                "line": 535,
                                "column": 29
                              },
                              "end": {
                                "line": 537,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 20548,
                                "end": 20549,
                                "loc": {
                                  "start": {
                                    "line": 535,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 535,
                                    "column": 39
                                  }
                                },
                                "name": "a"
                              },
                              {
                                "type": "Identifier",
                                "start": 20551,
                                "end": 20552,
                                "loc": {
                                  "start": {
                                    "line": 535,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 535,
                                    "column": 42
                                  }
                                },
                                "name": "b"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 20554,
                              "end": 20686,
                              "loc": {
                                "start": {
                                  "line": 535,
                                  "column": 44
                                },
                                "end": {
                                  "line": 537,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ReturnStatement",
                                  "start": 20568,
                                  "end": 20676,
                                  "loc": {
                                    "start": {
                                      "line": 536,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 536,
                                      "column": 120
                                    }
                                  },
                                  "argument": {
                                    "type": "LogicalExpression",
                                    "start": 20575,
                                    "end": 20675,
                                    "loc": {
                                      "start": {
                                        "line": 536,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 536,
                                        "column": 119
                                      }
                                    },
                                    "left": {
                                      "type": "LogicalExpression",
                                      "start": 20575,
                                      "end": 20640,
                                      "loc": {
                                        "start": {
                                          "line": 536,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 536,
                                          "column": 84
                                        }
                                      },
                                      "left": {
                                        "type": "LogicalExpression",
                                        "start": 20575,
                                        "end": 20615,
                                        "loc": {
                                          "start": {
                                            "line": 536,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 536,
                                            "column": 59
                                          }
                                        },
                                        "left": {
                                          "type": "BinaryExpression",
                                          "start": 20575,
                                          "end": 20593,
                                          "loc": {
                                            "start": {
                                              "line": 536,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 536,
                                              "column": 37
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 20575,
                                            "end": 20576,
                                            "loc": {
                                              "start": {
                                                "line": 536,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 536,
                                                "column": 20
                                              }
                                            },
                                            "name": "a"
                                          },
                                          "operator": "instanceof",
                                          "right": {
                                            "type": "Identifier",
                                            "start": 20588,
                                            "end": 20593,
                                            "loc": {
                                              "start": {
                                                "line": 536,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 536,
                                                "column": 37
                                              }
                                            },
                                            "name": "Array"
                                          }
                                        },
                                        "operator": "&&",
                                        "right": {
                                          "type": "BinaryExpression",
                                          "start": 20597,
                                          "end": 20615,
                                          "loc": {
                                            "start": {
                                              "line": 536,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 536,
                                              "column": 59
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 20597,
                                            "end": 20598,
                                            "loc": {
                                              "start": {
                                                "line": 536,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 536,
                                                "column": 42
                                              }
                                            },
                                            "name": "b"
                                          },
                                          "operator": "instanceof",
                                          "right": {
                                            "type": "Identifier",
                                            "start": 20610,
                                            "end": 20615,
                                            "loc": {
                                              "start": {
                                                "line": 536,
                                                "column": 54
                                              },
                                              "end": {
                                                "line": 536,
                                                "column": 59
                                              }
                                            },
                                            "name": "Array"
                                          }
                                        }
                                      },
                                      "operator": "&&",
                                      "right": {
                                        "type": "BinaryExpression",
                                        "start": 20619,
                                        "end": 20640,
                                        "loc": {
                                          "start": {
                                            "line": 536,
                                            "column": 63
                                          },
                                          "end": {
                                            "line": 536,
                                            "column": 84
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 20619,
                                          "end": 20627,
                                          "loc": {
                                            "start": {
                                              "line": 536,
                                              "column": 63
                                            },
                                            "end": {
                                              "line": 536,
                                              "column": 71
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 20619,
                                            "end": 20620,
                                            "loc": {
                                              "start": {
                                                "line": 536,
                                                "column": 63
                                              },
                                              "end": {
                                                "line": 536,
                                                "column": 64
                                              }
                                            },
                                            "name": "a"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 20621,
                                            "end": 20627,
                                            "loc": {
                                              "start": {
                                                "line": 536,
                                                "column": 65
                                              },
                                              "end": {
                                                "line": 536,
                                                "column": 71
                                              }
                                            },
                                            "name": "length"
                                          },
                                          "computed": false
                                        },
                                        "operator": "===",
                                        "right": {
                                          "type": "MemberExpression",
                                          "start": 20632,
                                          "end": 20640,
                                          "loc": {
                                            "start": {
                                              "line": 536,
                                              "column": 76
                                            },
                                            "end": {
                                              "line": 536,
                                              "column": 84
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 20632,
                                            "end": 20633,
                                            "loc": {
                                              "start": {
                                                "line": 536,
                                                "column": 76
                                              },
                                              "end": {
                                                "line": 536,
                                                "column": 77
                                              }
                                            },
                                            "name": "b"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 20634,
                                            "end": 20640,
                                            "loc": {
                                              "start": {
                                                "line": 536,
                                                "column": 78
                                              },
                                              "end": {
                                                "line": 536,
                                                "column": 84
                                              }
                                            },
                                            "name": "length"
                                          },
                                          "computed": false
                                        }
                                      }
                                    },
                                    "operator": "&&",
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 20644,
                                      "end": 20675,
                                      "loc": {
                                        "start": {
                                          "line": 536,
                                          "column": 88
                                        },
                                        "end": {
                                          "line": 536,
                                          "column": 119
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 20644,
                                        "end": 20651,
                                        "loc": {
                                          "start": {
                                            "line": 536,
                                            "column": 88
                                          },
                                          "end": {
                                            "line": 536,
                                            "column": 95
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 20644,
                                          "end": 20645,
                                          "loc": {
                                            "start": {
                                              "line": 536,
                                              "column": 88
                                            },
                                            "end": {
                                              "line": 536,
                                              "column": 89
                                            }
                                          },
                                          "name": "a"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 20646,
                                          "end": 20651,
                                          "loc": {
                                            "start": {
                                              "line": 536,
                                              "column": 90
                                            },
                                            "end": {
                                              "line": 536,
                                              "column": 95
                                            }
                                          },
                                          "name": "every"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "ArrowFunctionExpression",
                                          "start": 20652,
                                          "end": 20674,
                                          "loc": {
                                            "start": {
                                              "line": 536,
                                              "column": 96
                                            },
                                            "end": {
                                              "line": 536,
                                              "column": 118
                                            }
                                          },
                                          "id": null,
                                          "generator": false,
                                          "expression": true,
                                          "async": false,
                                          "params": [
                                            {
                                              "type": "Identifier",
                                              "start": 20653,
                                              "end": 20655,
                                              "loc": {
                                                "start": {
                                                  "line": 536,
                                                  "column": 97
                                                },
                                                "end": {
                                                  "line": 536,
                                                  "column": 99
                                                }
                                              },
                                              "name": "el"
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 20657,
                                              "end": 20658,
                                              "loc": {
                                                "start": {
                                                  "line": 536,
                                                  "column": 101
                                                },
                                                "end": {
                                                  "line": 536,
                                                  "column": 102
                                                }
                                              },
                                              "name": "i"
                                            }
                                          ],
                                          "body": {
                                            "type": "BinaryExpression",
                                            "start": 20663,
                                            "end": 20674,
                                            "loc": {
                                              "start": {
                                                "line": 536,
                                                "column": 107
                                              },
                                              "end": {
                                                "line": 536,
                                                "column": 118
                                              }
                                            },
                                            "left": {
                                              "type": "Identifier",
                                              "start": 20663,
                                              "end": 20665,
                                              "loc": {
                                                "start": {
                                                  "line": 536,
                                                  "column": 107
                                                },
                                                "end": {
                                                  "line": 536,
                                                  "column": 109
                                                }
                                              },
                                              "name": "el"
                                            },
                                            "operator": "===",
                                            "right": {
                                              "type": "MemberExpression",
                                              "start": 20670,
                                              "end": 20674,
                                              "loc": {
                                                "start": {
                                                  "line": 536,
                                                  "column": 114
                                                },
                                                "end": {
                                                  "line": 536,
                                                  "column": 118
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 20670,
                                                "end": 20671,
                                                "loc": {
                                                  "start": {
                                                    "line": 536,
                                                    "column": 114
                                                  },
                                                  "end": {
                                                    "line": 536,
                                                    "column": 115
                                                  }
                                                },
                                                "name": "b"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 20672,
                                                "end": 20673,
                                                "loc": {
                                                  "start": {
                                                    "line": 536,
                                                    "column": 116
                                                  },
                                                  "end": {
                                                    "line": 536,
                                                    "column": 117
                                                  }
                                                },
                                                "name": "i"
                                              },
                                              "computed": true
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "TODO: is there a better place for such a general function?",
                          "start": 20449,
                          "end": 20509,
                          "loc": {
                            "start": {
                              "line": 534,
                              "column": 8
                            },
                            "end": {
                              "line": 534,
                              "column": 68
                            }
                          },
                          "range": [
                            20449,
                            20509
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 20697,
                      "end": 20771,
                      "loc": {
                        "start": {
                          "line": 539,
                          "column": 8
                        },
                        "end": {
                          "line": 539,
                          "column": 82
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 20701,
                          "end": 20770,
                          "loc": {
                            "start": {
                              "line": 539,
                              "column": 12
                            },
                            "end": {
                              "line": 539,
                              "column": 81
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 20701,
                            "end": 20710,
                            "loc": {
                              "start": {
                                "line": 539,
                                "column": 12
                              },
                              "end": {
                                "line": 539,
                                "column": 21
                              }
                            },
                            "name": "newParams"
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 20713,
                            "end": 20770,
                            "loc": {
                              "start": {
                                "line": 539,
                                "column": 24
                              },
                              "end": {
                                "line": 539,
                                "column": 81
                              }
                            },
                            "elements": [
                              {
                                "type": "MemberExpression",
                                "start": 20714,
                                "end": 20725,
                                "loc": {
                                  "start": {
                                    "line": 539,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 539,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 20714,
                                  "end": 20718,
                                  "loc": {
                                    "start": {
                                      "line": 539,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 539,
                                      "column": 29
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 20719,
                                  "end": 20725,
                                  "loc": {
                                    "start": {
                                      "line": 539,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 539,
                                      "column": 36
                                    }
                                  },
                                  "name": "radius"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 20727,
                                "end": 20737,
                                "loc": {
                                  "start": {
                                    "line": 539,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 539,
                                    "column": 48
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 20727,
                                  "end": 20731,
                                  "loc": {
                                    "start": {
                                      "line": 539,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 539,
                                      "column": 42
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 20732,
                                  "end": 20737,
                                  "loc": {
                                    "start": {
                                      "line": 539,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 539,
                                      "column": 48
                                    }
                                  },
                                  "name": "width"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 20739,
                                "end": 20754,
                                "loc": {
                                  "start": {
                                    "line": 539,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 539,
                                    "column": 65
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 20739,
                                  "end": 20743,
                                  "loc": {
                                    "start": {
                                      "line": 539,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 539,
                                      "column": 54
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 20744,
                                  "end": 20754,
                                  "loc": {
                                    "start": {
                                      "line": 539,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 539,
                                      "column": 65
                                    }
                                  },
                                  "name": "angleStart"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 20756,
                                "end": 20769,
                                "loc": {
                                  "start": {
                                    "line": 539,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 539,
                                    "column": 80
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 20756,
                                  "end": 20760,
                                  "loc": {
                                    "start": {
                                      "line": 539,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 539,
                                      "column": 71
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 20761,
                                  "end": 20769,
                                  "loc": {
                                    "start": {
                                      "line": 539,
                                      "column": 72
                                    },
                                    "end": {
                                      "line": 539,
                                      "column": 80
                                    }
                                  },
                                  "name": "angleEnd"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 20780,
                      "end": 21707,
                      "loc": {
                        "start": {
                          "line": 540,
                          "column": 8
                        },
                        "end": {
                          "line": 554,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 20784,
                        "end": 20841,
                        "loc": {
                          "start": {
                            "line": 540,
                            "column": 12
                          },
                          "end": {
                            "line": 540,
                            "column": 69
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "CallExpression",
                          "start": 20785,
                          "end": 20841,
                          "loc": {
                            "start": {
                              "line": 540,
                              "column": 13
                            },
                            "end": {
                              "line": 540,
                              "column": 69
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 20785,
                            "end": 20799,
                            "loc": {
                              "start": {
                                "line": 540,
                                "column": 13
                              },
                              "end": {
                                "line": 540,
                                "column": 27
                              }
                            },
                            "name": "areArraysEqual"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 20800,
                              "end": 20809,
                              "loc": {
                                "start": {
                                  "line": 540,
                                  "column": 28
                                },
                                "end": {
                                  "line": 540,
                                  "column": 37
                                }
                              },
                              "name": "newParams"
                            },
                            {
                              "type": "MemberExpression",
                              "start": 20811,
                              "end": 20840,
                              "loc": {
                                "start": {
                                  "line": 540,
                                  "column": 39
                                },
                                "end": {
                                  "line": 540,
                                  "column": 68
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 20811,
                                "end": 20829,
                                "loc": {
                                  "start": {
                                    "line": 540,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 540,
                                    "column": 57
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 20811,
                                  "end": 20820,
                                  "loc": {
                                    "start": {
                                      "line": 540,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 540,
                                      "column": 48
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 20811,
                                    "end": 20815,
                                    "loc": {
                                      "start": {
                                        "line": 540,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 540,
                                        "column": 43
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 20816,
                                    "end": 20820,
                                    "loc": {
                                      "start": {
                                        "line": 540,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 540,
                                        "column": 48
                                      }
                                    },
                                    "name": "mesh"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 20821,
                                  "end": 20829,
                                  "loc": {
                                    "start": {
                                      "line": 540,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 540,
                                      "column": 57
                                    }
                                  },
                                  "name": "geometry"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 20830,
                                "end": 20840,
                                "loc": {
                                  "start": {
                                    "line": 540,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 540,
                                    "column": 68
                                  }
                                },
                                "name": "parameters"
                              },
                              "computed": false
                            }
                          ]
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 20843,
                        "end": 21707,
                        "loc": {
                          "start": {
                            "line": 540,
                            "column": 71
                          },
                          "end": {
                            "line": 554,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 20920,
                            "end": 20965,
                            "loc": {
                              "start": {
                                "line": 542,
                                "column": 12
                              },
                              "end": {
                                "line": 542,
                                "column": 57
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 20924,
                                "end": 20964,
                                "loc": {
                                  "start": {
                                    "line": 542,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 542,
                                    "column": 56
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 20924,
                                  "end": 20935,
                                  "loc": {
                                    "start": {
                                      "line": 542,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 542,
                                      "column": 27
                                    }
                                  },
                                  "name": "innerRadius",
                                  "leadingComments": null
                                },
                                "init": {
                                  "type": "BinaryExpression",
                                  "start": 20938,
                                  "end": 20964,
                                  "loc": {
                                    "start": {
                                      "line": 542,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 542,
                                      "column": 56
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 20938,
                                    "end": 20949,
                                    "loc": {
                                      "start": {
                                        "line": 542,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 542,
                                        "column": 41
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 20938,
                                      "end": 20942,
                                      "loc": {
                                        "start": {
                                          "line": 542,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 542,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 20943,
                                      "end": 20949,
                                      "loc": {
                                        "start": {
                                          "line": 542,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 542,
                                          "column": 41
                                        }
                                      },
                                      "name": "radius"
                                    },
                                    "computed": false
                                  },
                                  "operator": "-",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 20952,
                                    "end": 20964,
                                    "loc": {
                                      "start": {
                                        "line": 542,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 542,
                                        "column": 56
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 20952,
                                      "end": 20962,
                                      "loc": {
                                        "start": {
                                          "line": 542,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 542,
                                          "column": 54
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 20952,
                                        "end": 20956,
                                        "loc": {
                                          "start": {
                                            "line": 542,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 542,
                                            "column": 48
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 20957,
                                        "end": 20962,
                                        "loc": {
                                          "start": {
                                            "line": 542,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 542,
                                            "column": 54
                                          }
                                        },
                                        "name": "width"
                                      },
                                      "computed": false
                                    },
                                    "operator": "/",
                                    "right": {
                                      "type": "Literal",
                                      "start": 20963,
                                      "end": 20964,
                                      "loc": {
                                        "start": {
                                          "line": 542,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 542,
                                          "column": 56
                                        }
                                      },
                                      "value": 2,
                                      "rawValue": 2,
                                      "raw": "2"
                                    }
                                  }
                                },
                                "leadingComments": null
                              }
                            ],
                            "kind": "var",
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": "parameters have changed: update vertex positions",
                                "start": 20857,
                                "end": 20907,
                                "loc": {
                                  "start": {
                                    "line": 541,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 541,
                                    "column": 62
                                  }
                                },
                                "range": [
                                  20857,
                                  20907
                                ]
                              }
                            ]
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 20978,
                            "end": 21023,
                            "loc": {
                              "start": {
                                "line": 543,
                                "column": 12
                              },
                              "end": {
                                "line": 543,
                                "column": 57
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 20982,
                                "end": 21022,
                                "loc": {
                                  "start": {
                                    "line": 543,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 543,
                                    "column": 56
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 20982,
                                  "end": 20993,
                                  "loc": {
                                    "start": {
                                      "line": 543,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 543,
                                      "column": 27
                                    }
                                  },
                                  "name": "outerRadius"
                                },
                                "init": {
                                  "type": "BinaryExpression",
                                  "start": 20996,
                                  "end": 21022,
                                  "loc": {
                                    "start": {
                                      "line": 543,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 543,
                                      "column": 56
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 20996,
                                    "end": 21007,
                                    "loc": {
                                      "start": {
                                        "line": 543,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 543,
                                        "column": 41
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 20996,
                                      "end": 21000,
                                      "loc": {
                                        "start": {
                                          "line": 543,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 543,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 21001,
                                      "end": 21007,
                                      "loc": {
                                        "start": {
                                          "line": 543,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 543,
                                          "column": 41
                                        }
                                      },
                                      "name": "radius"
                                    },
                                    "computed": false
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 21010,
                                    "end": 21022,
                                    "loc": {
                                      "start": {
                                        "line": 543,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 543,
                                        "column": 56
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 21010,
                                      "end": 21020,
                                      "loc": {
                                        "start": {
                                          "line": 543,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 543,
                                          "column": 54
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 21010,
                                        "end": 21014,
                                        "loc": {
                                          "start": {
                                            "line": 543,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 543,
                                            "column": 48
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 21015,
                                        "end": 21020,
                                        "loc": {
                                          "start": {
                                            "line": 543,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 543,
                                            "column": 54
                                          }
                                        },
                                        "name": "width"
                                      },
                                      "computed": false
                                    },
                                    "operator": "/",
                                    "right": {
                                      "type": "Literal",
                                      "start": 21021,
                                      "end": 21022,
                                      "loc": {
                                        "start": {
                                          "line": 543,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 543,
                                          "column": 56
                                        }
                                      },
                                      "value": 2,
                                      "rawValue": 2,
                                      "raw": "2"
                                    }
                                  }
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "ForStatement",
                            "start": 21036,
                            "end": 21475,
                            "loc": {
                              "start": {
                                "line": 544,
                                "column": 12
                              },
                              "end": {
                                "line": 549,
                                "column": 13
                              }
                            },
                            "init": {
                              "type": "VariableDeclaration",
                              "start": 21041,
                              "end": 21050,
                              "loc": {
                                "start": {
                                  "line": 544,
                                  "column": 17
                                },
                                "end": {
                                  "line": 544,
                                  "column": 26
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 21045,
                                  "end": 21050,
                                  "loc": {
                                    "start": {
                                      "line": 544,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 544,
                                      "column": 26
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 21045,
                                    "end": 21046,
                                    "loc": {
                                      "start": {
                                        "line": 544,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 544,
                                        "column": 22
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "init": {
                                    "type": "Literal",
                                    "start": 21049,
                                    "end": 21050,
                                    "loc": {
                                      "start": {
                                        "line": 544,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 544,
                                        "column": 26
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                }
                              ],
                              "kind": "var"
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 21052,
                              "end": 21076,
                              "loc": {
                                "start": {
                                  "line": 544,
                                  "column": 28
                                },
                                "end": {
                                  "line": 544,
                                  "column": 52
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 21052,
                                "end": 21053,
                                "loc": {
                                  "start": {
                                    "line": 544,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 544,
                                    "column": 29
                                  }
                                },
                                "name": "i"
                              },
                              "operator": "<=",
                              "right": {
                                "type": "MemberExpression",
                                "start": 21057,
                                "end": 21076,
                                "loc": {
                                  "start": {
                                    "line": 544,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 544,
                                    "column": 52
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 21057,
                                  "end": 21061,
                                  "loc": {
                                    "start": {
                                      "line": 544,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 544,
                                      "column": 37
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 21062,
                                  "end": 21076,
                                  "loc": {
                                    "start": {
                                      "line": 544,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 544,
                                      "column": 52
                                    }
                                  },
                                  "name": "meshResolution"
                                },
                                "computed": false
                              }
                            },
                            "update": {
                              "type": "UpdateExpression",
                              "start": 21078,
                              "end": 21081,
                              "loc": {
                                "start": {
                                  "line": 544,
                                  "column": 54
                                },
                                "end": {
                                  "line": 544,
                                  "column": 57
                                }
                              },
                              "operator": "++",
                              "prefix": false,
                              "argument": {
                                "type": "Identifier",
                                "start": 21078,
                                "end": 21079,
                                "loc": {
                                  "start": {
                                    "line": 544,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 544,
                                    "column": 55
                                  }
                                },
                                "name": "i"
                              }
                            },
                            "body": {
                              "type": "BlockStatement",
                              "start": 21083,
                              "end": 21475,
                              "loc": {
                                "start": {
                                  "line": 544,
                                  "column": 59
                                },
                                "end": {
                                  "line": 549,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "start": 21101,
                                  "end": 21191,
                                  "loc": {
                                    "start": {
                                      "line": 545,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 545,
                                      "column": 106
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 21105,
                                      "end": 21190,
                                      "loc": {
                                        "start": {
                                          "line": 545,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 545,
                                          "column": 105
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 21105,
                                        "end": 21110,
                                        "loc": {
                                          "start": {
                                            "line": 545,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 545,
                                            "column": 25
                                          }
                                        },
                                        "name": "angle"
                                      },
                                      "init": {
                                        "type": "BinaryExpression",
                                        "start": 21113,
                                        "end": 21190,
                                        "loc": {
                                          "start": {
                                            "line": 545,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 545,
                                            "column": 105
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 21113,
                                          "end": 21128,
                                          "loc": {
                                            "start": {
                                              "line": 545,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 545,
                                              "column": 43
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 21113,
                                            "end": 21117,
                                            "loc": {
                                              "start": {
                                                "line": 545,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 545,
                                                "column": 32
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 21118,
                                            "end": 21128,
                                            "loc": {
                                              "start": {
                                                "line": 545,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 545,
                                                "column": 43
                                              }
                                            },
                                            "name": "angleStart"
                                          },
                                          "computed": false
                                        },
                                        "operator": "+",
                                        "right": {
                                          "type": "BinaryExpression",
                                          "start": 21131,
                                          "end": 21190,
                                          "loc": {
                                            "start": {
                                              "line": 545,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 545,
                                              "column": 105
                                            }
                                          },
                                          "left": {
                                            "type": "BinaryExpression",
                                            "start": 21131,
                                            "end": 21168,
                                            "loc": {
                                              "start": {
                                                "line": 545,
                                                "column": 46
                                              },
                                              "end": {
                                                "line": 545,
                                                "column": 83
                                              }
                                            },
                                            "left": {
                                              "type": "BinaryExpression",
                                              "start": 21132,
                                              "end": 21163,
                                              "loc": {
                                                "start": {
                                                  "line": 545,
                                                  "column": 47
                                                },
                                                "end": {
                                                  "line": 545,
                                                  "column": 78
                                                }
                                              },
                                              "left": {
                                                "type": "MemberExpression",
                                                "start": 21132,
                                                "end": 21145,
                                                "loc": {
                                                  "start": {
                                                    "line": 545,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 545,
                                                    "column": 60
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 21132,
                                                  "end": 21136,
                                                  "loc": {
                                                    "start": {
                                                      "line": 545,
                                                      "column": 47
                                                    },
                                                    "end": {
                                                      "line": 545,
                                                      "column": 51
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 21137,
                                                  "end": 21145,
                                                  "loc": {
                                                    "start": {
                                                      "line": 545,
                                                      "column": 52
                                                    },
                                                    "end": {
                                                      "line": 545,
                                                      "column": 60
                                                    }
                                                  },
                                                  "name": "angleEnd"
                                                },
                                                "computed": false
                                              },
                                              "operator": "-",
                                              "right": {
                                                "type": "MemberExpression",
                                                "start": 21148,
                                                "end": 21163,
                                                "loc": {
                                                  "start": {
                                                    "line": 545,
                                                    "column": 63
                                                  },
                                                  "end": {
                                                    "line": 545,
                                                    "column": 78
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 21148,
                                                  "end": 21152,
                                                  "loc": {
                                                    "start": {
                                                      "line": 545,
                                                      "column": 63
                                                    },
                                                    "end": {
                                                      "line": 545,
                                                      "column": 67
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 21153,
                                                  "end": 21163,
                                                  "loc": {
                                                    "start": {
                                                      "line": 545,
                                                      "column": 68
                                                    },
                                                    "end": {
                                                      "line": 545,
                                                      "column": 78
                                                    }
                                                  },
                                                  "name": "angleStart"
                                                },
                                                "computed": false
                                              },
                                              "parenthesizedExpression": true
                                            },
                                            "operator": "*",
                                            "right": {
                                              "type": "Identifier",
                                              "start": 21167,
                                              "end": 21168,
                                              "loc": {
                                                "start": {
                                                  "line": 545,
                                                  "column": 82
                                                },
                                                "end": {
                                                  "line": 545,
                                                  "column": 83
                                                }
                                              },
                                              "name": "i"
                                            }
                                          },
                                          "operator": "/",
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 21171,
                                            "end": 21190,
                                            "loc": {
                                              "start": {
                                                "line": 545,
                                                "column": 86
                                              },
                                              "end": {
                                                "line": 545,
                                                "column": 105
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 21171,
                                              "end": 21175,
                                              "loc": {
                                                "start": {
                                                  "line": 545,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 545,
                                                  "column": 90
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 21176,
                                              "end": 21190,
                                              "loc": {
                                                "start": {
                                                  "line": 545,
                                                  "column": 91
                                                },
                                                "end": {
                                                  "line": 545,
                                                  "column": 105
                                                }
                                              },
                                              "name": "meshResolution"
                                            },
                                            "computed": false
                                          }
                                        }
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "start": 21208,
                                  "end": 21259,
                                  "loc": {
                                    "start": {
                                      "line": 546,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 546,
                                      "column": 67
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 21212,
                                      "end": 21234,
                                      "loc": {
                                        "start": {
                                          "line": 546,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 546,
                                          "column": 42
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 21212,
                                        "end": 21216,
                                        "loc": {
                                          "start": {
                                            "line": 546,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 546,
                                            "column": 24
                                          }
                                        },
                                        "name": "dirX"
                                      },
                                      "init": {
                                        "type": "CallExpression",
                                        "start": 21219,
                                        "end": 21234,
                                        "loc": {
                                          "start": {
                                            "line": 546,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 546,
                                            "column": 42
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 21219,
                                          "end": 21227,
                                          "loc": {
                                            "start": {
                                              "line": 546,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 546,
                                              "column": 35
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 21219,
                                            "end": 21223,
                                            "loc": {
                                              "start": {
                                                "line": 546,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 546,
                                                "column": 31
                                              }
                                            },
                                            "name": "Math"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 21224,
                                            "end": 21227,
                                            "loc": {
                                              "start": {
                                                "line": 546,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 546,
                                                "column": 35
                                              }
                                            },
                                            "name": "cos"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 21228,
                                            "end": 21233,
                                            "loc": {
                                              "start": {
                                                "line": 546,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 546,
                                                "column": 41
                                              }
                                            },
                                            "name": "angle"
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 21236,
                                      "end": 21258,
                                      "loc": {
                                        "start": {
                                          "line": 546,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 546,
                                          "column": 66
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 21236,
                                        "end": 21240,
                                        "loc": {
                                          "start": {
                                            "line": 546,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 546,
                                            "column": 48
                                          }
                                        },
                                        "name": "dirY"
                                      },
                                      "init": {
                                        "type": "CallExpression",
                                        "start": 21243,
                                        "end": 21258,
                                        "loc": {
                                          "start": {
                                            "line": 546,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 546,
                                            "column": 66
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 21243,
                                          "end": 21251,
                                          "loc": {
                                            "start": {
                                              "line": 546,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 546,
                                              "column": 59
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 21243,
                                            "end": 21247,
                                            "loc": {
                                              "start": {
                                                "line": 546,
                                                "column": 51
                                              },
                                              "end": {
                                                "line": 546,
                                                "column": 55
                                              }
                                            },
                                            "name": "Math"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 21248,
                                            "end": 21251,
                                            "loc": {
                                              "start": {
                                                "line": 546,
                                                "column": 56
                                              },
                                              "end": {
                                                "line": 546,
                                                "column": 59
                                              }
                                            },
                                            "name": "sin"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 21252,
                                            "end": 21257,
                                            "loc": {
                                              "start": {
                                                "line": 546,
                                                "column": 60
                                              },
                                              "end": {
                                                "line": 546,
                                                "column": 65
                                              }
                                            },
                                            "name": "angle"
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 21276,
                                  "end": 21360,
                                  "loc": {
                                    "start": {
                                      "line": 547,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 547,
                                      "column": 100
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 21276,
                                    "end": 21359,
                                    "loc": {
                                      "start": {
                                        "line": 547,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 547,
                                        "column": 99
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 21276,
                                      "end": 21314,
                                      "loc": {
                                        "start": {
                                          "line": 547,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 547,
                                          "column": 54
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 21276,
                                        "end": 21310,
                                        "loc": {
                                          "start": {
                                            "line": 547,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 547,
                                            "column": 50
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 21276,
                                          "end": 21303,
                                          "loc": {
                                            "start": {
                                              "line": 547,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 547,
                                              "column": 43
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 21276,
                                            "end": 21294,
                                            "loc": {
                                              "start": {
                                                "line": 547,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 547,
                                                "column": 34
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 21276,
                                              "end": 21285,
                                              "loc": {
                                                "start": {
                                                  "line": 547,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 547,
                                                  "column": 25
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 21276,
                                                "end": 21280,
                                                "loc": {
                                                  "start": {
                                                    "line": 547,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 547,
                                                    "column": 20
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 21281,
                                                "end": 21285,
                                                "loc": {
                                                  "start": {
                                                    "line": 547,
                                                    "column": 21
                                                  },
                                                  "end": {
                                                    "line": 547,
                                                    "column": 25
                                                  }
                                                },
                                                "name": "mesh"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 21286,
                                              "end": 21294,
                                              "loc": {
                                                "start": {
                                                  "line": 547,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 547,
                                                  "column": 34
                                                }
                                              },
                                              "name": "geometry"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 21295,
                                            "end": 21303,
                                            "loc": {
                                              "start": {
                                                "line": 547,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 547,
                                                "column": 43
                                              }
                                            },
                                            "name": "vertices"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "BinaryExpression",
                                          "start": 21304,
                                          "end": 21309,
                                          "loc": {
                                            "start": {
                                              "line": 547,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 547,
                                              "column": 49
                                            }
                                          },
                                          "left": {
                                            "type": "BinaryExpression",
                                            "start": 21304,
                                            "end": 21307,
                                            "loc": {
                                              "start": {
                                                "line": 547,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 547,
                                                "column": 47
                                              }
                                            },
                                            "left": {
                                              "type": "Literal",
                                              "start": 21304,
                                              "end": 21305,
                                              "loc": {
                                                "start": {
                                                  "line": 547,
                                                  "column": 44
                                                },
                                                "end": {
                                                  "line": 547,
                                                  "column": 45
                                                }
                                              },
                                              "value": 2,
                                              "rawValue": 2,
                                              "raw": "2"
                                            },
                                            "operator": "*",
                                            "right": {
                                              "type": "Identifier",
                                              "start": 21306,
                                              "end": 21307,
                                              "loc": {
                                                "start": {
                                                  "line": 547,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 547,
                                                  "column": 47
                                                }
                                              },
                                              "name": "i"
                                            }
                                          },
                                          "operator": "+",
                                          "right": {
                                            "type": "Literal",
                                            "start": 21308,
                                            "end": 21309,
                                            "loc": {
                                              "start": {
                                                "line": 547,
                                                "column": 48
                                              },
                                              "end": {
                                                "line": 547,
                                                "column": 49
                                              }
                                            },
                                            "value": 0,
                                            "rawValue": 0,
                                            "raw": "0"
                                          }
                                        },
                                        "computed": true
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 21311,
                                        "end": 21314,
                                        "loc": {
                                          "start": {
                                            "line": 547,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 547,
                                            "column": 54
                                          }
                                        },
                                        "name": "set"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "BinaryExpression",
                                        "start": 21315,
                                        "end": 21333,
                                        "loc": {
                                          "start": {
                                            "line": 547,
                                            "column": 55
                                          },
                                          "end": {
                                            "line": 547,
                                            "column": 73
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 21315,
                                          "end": 21326,
                                          "loc": {
                                            "start": {
                                              "line": 547,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 547,
                                              "column": 66
                                            }
                                          },
                                          "name": "outerRadius"
                                        },
                                        "operator": "*",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 21329,
                                          "end": 21333,
                                          "loc": {
                                            "start": {
                                              "line": 547,
                                              "column": 69
                                            },
                                            "end": {
                                              "line": 547,
                                              "column": 73
                                            }
                                          },
                                          "name": "dirX"
                                        }
                                      },
                                      {
                                        "type": "BinaryExpression",
                                        "start": 21335,
                                        "end": 21353,
                                        "loc": {
                                          "start": {
                                            "line": 547,
                                            "column": 75
                                          },
                                          "end": {
                                            "line": 547,
                                            "column": 93
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 21335,
                                          "end": 21346,
                                          "loc": {
                                            "start": {
                                              "line": 547,
                                              "column": 75
                                            },
                                            "end": {
                                              "line": 547,
                                              "column": 86
                                            }
                                          },
                                          "name": "outerRadius"
                                        },
                                        "operator": "*",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 21349,
                                          "end": 21353,
                                          "loc": {
                                            "start": {
                                              "line": 547,
                                              "column": 89
                                            },
                                            "end": {
                                              "line": 547,
                                              "column": 93
                                            }
                                          },
                                          "name": "dirY"
                                        }
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 21355,
                                        "end": 21358,
                                        "loc": {
                                          "start": {
                                            "line": 547,
                                            "column": 95
                                          },
                                          "end": {
                                            "line": 547,
                                            "column": 98
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0.0"
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 21377,
                                  "end": 21461,
                                  "loc": {
                                    "start": {
                                      "line": 548,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 548,
                                      "column": 100
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 21377,
                                    "end": 21460,
                                    "loc": {
                                      "start": {
                                        "line": 548,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 548,
                                        "column": 99
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 21377,
                                      "end": 21415,
                                      "loc": {
                                        "start": {
                                          "line": 548,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 548,
                                          "column": 54
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 21377,
                                        "end": 21411,
                                        "loc": {
                                          "start": {
                                            "line": 548,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 548,
                                            "column": 50
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 21377,
                                          "end": 21404,
                                          "loc": {
                                            "start": {
                                              "line": 548,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 548,
                                              "column": 43
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 21377,
                                            "end": 21395,
                                            "loc": {
                                              "start": {
                                                "line": 548,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 548,
                                                "column": 34
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 21377,
                                              "end": 21386,
                                              "loc": {
                                                "start": {
                                                  "line": 548,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 548,
                                                  "column": 25
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 21377,
                                                "end": 21381,
                                                "loc": {
                                                  "start": {
                                                    "line": 548,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 548,
                                                    "column": 20
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 21382,
                                                "end": 21386,
                                                "loc": {
                                                  "start": {
                                                    "line": 548,
                                                    "column": 21
                                                  },
                                                  "end": {
                                                    "line": 548,
                                                    "column": 25
                                                  }
                                                },
                                                "name": "mesh"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 21387,
                                              "end": 21395,
                                              "loc": {
                                                "start": {
                                                  "line": 548,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 548,
                                                  "column": 34
                                                }
                                              },
                                              "name": "geometry"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 21396,
                                            "end": 21404,
                                            "loc": {
                                              "start": {
                                                "line": 548,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 548,
                                                "column": 43
                                              }
                                            },
                                            "name": "vertices"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "BinaryExpression",
                                          "start": 21405,
                                          "end": 21410,
                                          "loc": {
                                            "start": {
                                              "line": 548,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 548,
                                              "column": 49
                                            }
                                          },
                                          "left": {
                                            "type": "BinaryExpression",
                                            "start": 21405,
                                            "end": 21408,
                                            "loc": {
                                              "start": {
                                                "line": 548,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 548,
                                                "column": 47
                                              }
                                            },
                                            "left": {
                                              "type": "Literal",
                                              "start": 21405,
                                              "end": 21406,
                                              "loc": {
                                                "start": {
                                                  "line": 548,
                                                  "column": 44
                                                },
                                                "end": {
                                                  "line": 548,
                                                  "column": 45
                                                }
                                              },
                                              "value": 2,
                                              "rawValue": 2,
                                              "raw": "2"
                                            },
                                            "operator": "*",
                                            "right": {
                                              "type": "Identifier",
                                              "start": 21407,
                                              "end": 21408,
                                              "loc": {
                                                "start": {
                                                  "line": 548,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 548,
                                                  "column": 47
                                                }
                                              },
                                              "name": "i"
                                            }
                                          },
                                          "operator": "+",
                                          "right": {
                                            "type": "Literal",
                                            "start": 21409,
                                            "end": 21410,
                                            "loc": {
                                              "start": {
                                                "line": 548,
                                                "column": 48
                                              },
                                              "end": {
                                                "line": 548,
                                                "column": 49
                                              }
                                            },
                                            "value": 1,
                                            "rawValue": 1,
                                            "raw": "1"
                                          }
                                        },
                                        "computed": true
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 21412,
                                        "end": 21415,
                                        "loc": {
                                          "start": {
                                            "line": 548,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 548,
                                            "column": 54
                                          }
                                        },
                                        "name": "set"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "BinaryExpression",
                                        "start": 21416,
                                        "end": 21434,
                                        "loc": {
                                          "start": {
                                            "line": 548,
                                            "column": 55
                                          },
                                          "end": {
                                            "line": 548,
                                            "column": 73
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 21416,
                                          "end": 21427,
                                          "loc": {
                                            "start": {
                                              "line": 548,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 548,
                                              "column": 66
                                            }
                                          },
                                          "name": "innerRadius"
                                        },
                                        "operator": "*",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 21430,
                                          "end": 21434,
                                          "loc": {
                                            "start": {
                                              "line": 548,
                                              "column": 69
                                            },
                                            "end": {
                                              "line": 548,
                                              "column": 73
                                            }
                                          },
                                          "name": "dirX"
                                        }
                                      },
                                      {
                                        "type": "BinaryExpression",
                                        "start": 21436,
                                        "end": 21454,
                                        "loc": {
                                          "start": {
                                            "line": 548,
                                            "column": 75
                                          },
                                          "end": {
                                            "line": 548,
                                            "column": 93
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 21436,
                                          "end": 21447,
                                          "loc": {
                                            "start": {
                                              "line": 548,
                                              "column": 75
                                            },
                                            "end": {
                                              "line": 548,
                                              "column": 86
                                            }
                                          },
                                          "name": "innerRadius"
                                        },
                                        "operator": "*",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 21450,
                                          "end": 21454,
                                          "loc": {
                                            "start": {
                                              "line": 548,
                                              "column": 89
                                            },
                                            "end": {
                                              "line": 548,
                                              "column": 93
                                            }
                                          },
                                          "name": "dirY"
                                        }
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 21456,
                                        "end": 21459,
                                        "loc": {
                                          "start": {
                                            "line": 548,
                                            "column": 95
                                          },
                                          "end": {
                                            "line": 548,
                                            "column": 98
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0.0"
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 21488,
                            "end": 21533,
                            "loc": {
                              "start": {
                                "line": 550,
                                "column": 12
                              },
                              "end": {
                                "line": 550,
                                "column": 57
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 21488,
                              "end": 21532,
                              "loc": {
                                "start": {
                                  "line": 550,
                                  "column": 12
                                },
                                "end": {
                                  "line": 550,
                                  "column": 56
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 21488,
                                "end": 21525,
                                "loc": {
                                  "start": {
                                    "line": 550,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 550,
                                    "column": 49
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 21488,
                                  "end": 21506,
                                  "loc": {
                                    "start": {
                                      "line": 550,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 550,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 21488,
                                    "end": 21497,
                                    "loc": {
                                      "start": {
                                        "line": 550,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 550,
                                        "column": 21
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 21488,
                                      "end": 21492,
                                      "loc": {
                                        "start": {
                                          "line": 550,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 550,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 21493,
                                      "end": 21497,
                                      "loc": {
                                        "start": {
                                          "line": 550,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 550,
                                          "column": 21
                                        }
                                      },
                                      "name": "mesh"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 21498,
                                    "end": 21506,
                                    "loc": {
                                      "start": {
                                        "line": 550,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 550,
                                        "column": 30
                                      }
                                    },
                                    "name": "geometry"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 21507,
                                  "end": 21525,
                                  "loc": {
                                    "start": {
                                      "line": 550,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 550,
                                      "column": 49
                                    }
                                  },
                                  "name": "verticesNeedUpdate"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Literal",
                                "start": 21528,
                                "end": 21532,
                                "loc": {
                                  "start": {
                                    "line": 550,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 550,
                                    "column": 56
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 21546,
                            "end": 21586,
                            "loc": {
                              "start": {
                                "line": 551,
                                "column": 12
                              },
                              "end": {
                                "line": 551,
                                "column": 52
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 21546,
                              "end": 21585,
                              "loc": {
                                "start": {
                                  "line": 551,
                                  "column": 12
                                },
                                "end": {
                                  "line": 551,
                                  "column": 51
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 21546,
                                "end": 21583,
                                "loc": {
                                  "start": {
                                    "line": 551,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 551,
                                    "column": 49
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 21546,
                                  "end": 21564,
                                  "loc": {
                                    "start": {
                                      "line": 551,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 551,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 21546,
                                    "end": 21555,
                                    "loc": {
                                      "start": {
                                        "line": 551,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 551,
                                        "column": 21
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 21546,
                                      "end": 21550,
                                      "loc": {
                                        "start": {
                                          "line": 551,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 551,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 21551,
                                      "end": 21555,
                                      "loc": {
                                        "start": {
                                          "line": 551,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 551,
                                          "column": 21
                                        }
                                      },
                                      "name": "mesh"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 21556,
                                    "end": 21564,
                                    "loc": {
                                      "start": {
                                        "line": 551,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 551,
                                        "column": 30
                                      }
                                    },
                                    "name": "geometry"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 21565,
                                  "end": 21583,
                                  "loc": {
                                    "start": {
                                      "line": 551,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 551,
                                      "column": 49
                                    }
                                  },
                                  "name": "computeBoundingBox"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 21599,
                            "end": 21642,
                            "loc": {
                              "start": {
                                "line": 552,
                                "column": 12
                              },
                              "end": {
                                "line": 552,
                                "column": 55
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 21599,
                              "end": 21641,
                              "loc": {
                                "start": {
                                  "line": 552,
                                  "column": 12
                                },
                                "end": {
                                  "line": 552,
                                  "column": 54
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 21599,
                                "end": 21639,
                                "loc": {
                                  "start": {
                                    "line": 552,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 552,
                                    "column": 52
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 21599,
                                  "end": 21617,
                                  "loc": {
                                    "start": {
                                      "line": 552,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 552,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 21599,
                                    "end": 21608,
                                    "loc": {
                                      "start": {
                                        "line": 552,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 552,
                                        "column": 21
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 21599,
                                      "end": 21603,
                                      "loc": {
                                        "start": {
                                          "line": 552,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 552,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 21604,
                                      "end": 21608,
                                      "loc": {
                                        "start": {
                                          "line": 552,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 552,
                                          "column": 21
                                        }
                                      },
                                      "name": "mesh"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 21609,
                                    "end": 21617,
                                    "loc": {
                                      "start": {
                                        "line": 552,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 552,
                                        "column": 30
                                      }
                                    },
                                    "name": "geometry"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 21618,
                                  "end": 21639,
                                  "loc": {
                                    "start": {
                                      "line": 552,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 552,
                                      "column": 52
                                    }
                                  },
                                  "name": "computeBoundingSphere"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 21655,
                            "end": 21697,
                            "loc": {
                              "start": {
                                "line": 553,
                                "column": 12
                              },
                              "end": {
                                "line": 553,
                                "column": 54
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 21655,
                              "end": 21696,
                              "loc": {
                                "start": {
                                  "line": 553,
                                  "column": 12
                                },
                                "end": {
                                  "line": 553,
                                  "column": 53
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 21655,
                                "end": 21684,
                                "loc": {
                                  "start": {
                                    "line": 553,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 553,
                                    "column": 41
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 21655,
                                  "end": 21673,
                                  "loc": {
                                    "start": {
                                      "line": 553,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 553,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 21655,
                                    "end": 21664,
                                    "loc": {
                                      "start": {
                                        "line": 553,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 553,
                                        "column": 21
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 21655,
                                      "end": 21659,
                                      "loc": {
                                        "start": {
                                          "line": 553,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 553,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 21660,
                                      "end": 21664,
                                      "loc": {
                                        "start": {
                                          "line": 553,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 553,
                                          "column": 21
                                        }
                                      },
                                      "name": "mesh"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 21665,
                                    "end": 21673,
                                    "loc": {
                                      "start": {
                                        "line": 553,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 553,
                                        "column": 30
                                      }
                                    },
                                    "name": "geometry"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 21674,
                                  "end": 21684,
                                  "loc": {
                                    "start": {
                                      "line": 553,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 553,
                                      "column": 41
                                    }
                                  },
                                  "name": "parameters"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 21687,
                                "end": 21696,
                                "loc": {
                                  "start": {
                                    "line": 553,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 553,
                                    "column": 53
                                  }
                                },
                                "name": "newParams"
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 21716,
                      "end": 21767,
                      "loc": {
                        "start": {
                          "line": 555,
                          "column": 8
                        },
                        "end": {
                          "line": 555,
                          "column": 59
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 21716,
                        "end": 21766,
                        "loc": {
                          "start": {
                            "line": 555,
                            "column": 8
                          },
                          "end": {
                            "line": 555,
                            "column": 58
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 21716,
                          "end": 21739,
                          "loc": {
                            "start": {
                              "line": 555,
                              "column": 8
                            },
                            "end": {
                              "line": 555,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 21716,
                            "end": 21734,
                            "loc": {
                              "start": {
                                "line": 555,
                                "column": 8
                              },
                              "end": {
                                "line": 555,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 21716,
                              "end": 21725,
                              "loc": {
                                "start": {
                                  "line": 555,
                                  "column": 8
                                },
                                "end": {
                                  "line": 555,
                                  "column": 17
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 21716,
                                "end": 21720,
                                "loc": {
                                  "start": {
                                    "line": 555,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 555,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 21721,
                                "end": 21725,
                                "loc": {
                                  "start": {
                                    "line": 555,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 555,
                                    "column": 17
                                  }
                                },
                                "name": "mesh"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 21726,
                              "end": 21734,
                              "loc": {
                                "start": {
                                  "line": 555,
                                  "column": 18
                                },
                                "end": {
                                  "line": 555,
                                  "column": 26
                                }
                              },
                              "name": "position"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 21735,
                            "end": 21739,
                            "loc": {
                              "start": {
                                "line": 555,
                                "column": 27
                              },
                              "end": {
                                "line": 555,
                                "column": 31
                              }
                            },
                            "name": "copy"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 21740,
                            "end": 21765,
                            "loc": {
                              "start": {
                                "line": 555,
                                "column": 32
                              },
                              "end": {
                                "line": 555,
                                "column": 57
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 21740,
                              "end": 21756,
                              "loc": {
                                "start": {
                                  "line": 555,
                                  "column": 32
                                },
                                "end": {
                                  "line": 555,
                                  "column": 48
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 21740,
                                "end": 21744,
                                "loc": {
                                  "start": {
                                    "line": 555,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 555,
                                    "column": 36
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 21745,
                                "end": 21756,
                                "loc": {
                                  "start": {
                                    "line": 555,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 555,
                                    "column": 48
                                  }
                                },
                                "name": "centerPoint"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 21757,
                              "end": 21765,
                              "loc": {
                                "start": {
                                  "line": 555,
                                  "column": 49
                                },
                                "end": {
                                  "line": 555,
                                  "column": 57
                                }
                              },
                              "name": "position"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 21776,
                      "end": 21839,
                      "loc": {
                        "start": {
                          "line": 556,
                          "column": 8
                        },
                        "end": {
                          "line": 556,
                          "column": 71
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 21780,
                        "end": 21806,
                        "loc": {
                          "start": {
                            "line": 556,
                            "column": 12
                          },
                          "end": {
                            "line": 556,
                            "column": 38
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 21780,
                          "end": 21784,
                          "loc": {
                            "start": {
                              "line": 556,
                              "column": 12
                            },
                            "end": {
                              "line": 556,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 21785,
                          "end": 21806,
                          "loc": {
                            "start": {
                              "line": 556,
                              "column": 17
                            },
                            "end": {
                              "line": 556,
                              "column": 38
                            }
                          },
                          "name": "auxiliaryConstruction"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 21808,
                        "end": 21839,
                        "loc": {
                          "start": {
                            "line": 556,
                            "column": 40
                          },
                          "end": {
                            "line": 556,
                            "column": 71
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 21808,
                          "end": 21838,
                          "loc": {
                            "start": {
                              "line": 556,
                              "column": 40
                            },
                            "end": {
                              "line": 556,
                              "column": 70
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 21808,
                            "end": 21836,
                            "loc": {
                              "start": {
                                "line": 556,
                                "column": 40
                              },
                              "end": {
                                "line": 556,
                                "column": 68
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 21808,
                              "end": 21812,
                              "loc": {
                                "start": {
                                  "line": 556,
                                  "column": 40
                                },
                                "end": {
                                  "line": 556,
                                  "column": 44
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 21813,
                              "end": 21836,
                              "loc": {
                                "start": {
                                  "line": 556,
                                  "column": 45
                                },
                                "end": {
                                  "line": 556,
                                  "column": 68
                                }
                              },
                              "name": "updateAuxiliaryGeometry"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 21851,
              "end": 22111,
              "loc": {
                "start": {
                  "line": 559,
                  "column": 4
                },
                "end": {
                  "line": 566,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 21851,
                "end": 21859,
                "loc": {
                  "start": {
                    "line": 559,
                    "column": 4
                  },
                  "end": {
                    "line": 559,
                    "column": 12
                  }
                },
                "name": "getState"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 21859,
                "end": 22111,
                "loc": {
                  "start": {
                    "line": 559,
                    "column": 12
                  },
                  "end": {
                    "line": 566,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 21862,
                  "end": 22111,
                  "loc": {
                    "start": {
                      "line": 559,
                      "column": 15
                    },
                    "end": {
                      "line": 566,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 21872,
                      "end": 22105,
                      "loc": {
                        "start": {
                          "line": 560,
                          "column": 8
                        },
                        "end": {
                          "line": 565,
                          "column": 11
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 21879,
                        "end": 22104,
                        "loc": {
                          "start": {
                            "line": 560,
                            "column": 15
                          },
                          "end": {
                            "line": 565,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 21883,
                          "end": 21886,
                          "loc": {
                            "start": {
                              "line": 560,
                              "column": 19
                            },
                            "end": {
                              "line": 560,
                              "column": 22
                            }
                          },
                          "name": "Map"
                        },
                        "arguments": [
                          {
                            "type": "ArrayExpression",
                            "start": 21887,
                            "end": 22103,
                            "loc": {
                              "start": {
                                "line": 560,
                                "column": 23
                              },
                              "end": {
                                "line": 565,
                                "column": 9
                              }
                            },
                            "elements": [
                              {
                                "type": "ArrayExpression",
                                "start": 21901,
                                "end": 21942,
                                "loc": {
                                  "start": {
                                    "line": 561,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 561,
                                    "column": 53
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 21902,
                                    "end": 21914,
                                    "loc": {
                                      "start": {
                                        "line": 561,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 561,
                                        "column": 25
                                      }
                                    },
                                    "value": "startPoint",
                                    "rawValue": "startPoint",
                                    "raw": "'startPoint'"
                                  },
                                  {
                                    "type": "CallExpression",
                                    "start": 21916,
                                    "end": 21941,
                                    "loc": {
                                      "start": {
                                        "line": 561,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 561,
                                        "column": 52
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 21916,
                                      "end": 21939,
                                      "loc": {
                                        "start": {
                                          "line": 561,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 561,
                                          "column": 50
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 21916,
                                        "end": 21930,
                                        "loc": {
                                          "start": {
                                            "line": 561,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 561,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 21916,
                                          "end": 21927,
                                          "loc": {
                                            "start": {
                                              "line": 561,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 561,
                                              "column": 38
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 21916,
                                            "end": 21920,
                                            "loc": {
                                              "start": {
                                                "line": 561,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 561,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 21921,
                                            "end": 21927,
                                            "loc": {
                                              "start": {
                                                "line": 561,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 561,
                                                "column": 38
                                              }
                                            },
                                            "name": "points"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "start": 21928,
                                          "end": 21929,
                                          "loc": {
                                            "start": {
                                              "line": 561,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 561,
                                              "column": 40
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "computed": true
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 21931,
                                        "end": 21939,
                                        "loc": {
                                          "start": {
                                            "line": 561,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 561,
                                            "column": 50
                                          }
                                        },
                                        "name": "getState"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                ]
                              },
                              {
                                "type": "ArrayExpression",
                                "start": 21956,
                                "end": 21995,
                                "loc": {
                                  "start": {
                                    "line": 562,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 562,
                                    "column": 51
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 21957,
                                    "end": 21967,
                                    "loc": {
                                      "start": {
                                        "line": 562,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 562,
                                        "column": 23
                                      }
                                    },
                                    "value": "endPoint",
                                    "rawValue": "endPoint",
                                    "raw": "'endPoint'"
                                  },
                                  {
                                    "type": "CallExpression",
                                    "start": 21969,
                                    "end": 21994,
                                    "loc": {
                                      "start": {
                                        "line": 562,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 562,
                                        "column": 50
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 21969,
                                      "end": 21992,
                                      "loc": {
                                        "start": {
                                          "line": 562,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 562,
                                          "column": 48
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 21969,
                                        "end": 21983,
                                        "loc": {
                                          "start": {
                                            "line": 562,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 562,
                                            "column": 39
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 21969,
                                          "end": 21980,
                                          "loc": {
                                            "start": {
                                              "line": 562,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 562,
                                              "column": 36
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 21969,
                                            "end": 21973,
                                            "loc": {
                                              "start": {
                                                "line": 562,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 562,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 21974,
                                            "end": 21980,
                                            "loc": {
                                              "start": {
                                                "line": 562,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 562,
                                                "column": 36
                                              }
                                            },
                                            "name": "points"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "start": 21981,
                                          "end": 21982,
                                          "loc": {
                                            "start": {
                                              "line": 562,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 562,
                                              "column": 38
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "computed": true
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 21984,
                                        "end": 21992,
                                        "loc": {
                                          "start": {
                                            "line": 562,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 562,
                                            "column": 48
                                          }
                                        },
                                        "name": "getState"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                ]
                              },
                              {
                                "type": "ArrayExpression",
                                "start": 22009,
                                "end": 22048,
                                "loc": {
                                  "start": {
                                    "line": 563,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 563,
                                    "column": 51
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 22010,
                                    "end": 22018,
                                    "loc": {
                                      "start": {
                                        "line": 563,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 563,
                                        "column": 21
                                      }
                                    },
                                    "value": "center",
                                    "rawValue": "center",
                                    "raw": "'center'"
                                  },
                                  {
                                    "type": "CallExpression",
                                    "start": 22020,
                                    "end": 22047,
                                    "loc": {
                                      "start": {
                                        "line": 563,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 563,
                                        "column": 50
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 22020,
                                      "end": 22045,
                                      "loc": {
                                        "start": {
                                          "line": 563,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 563,
                                          "column": 48
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 22020,
                                        "end": 22036,
                                        "loc": {
                                          "start": {
                                            "line": 563,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 563,
                                            "column": 39
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 22020,
                                          "end": 22024,
                                          "loc": {
                                            "start": {
                                              "line": 563,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 563,
                                              "column": 27
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 22025,
                                          "end": 22036,
                                          "loc": {
                                            "start": {
                                              "line": 563,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 563,
                                              "column": 39
                                            }
                                          },
                                          "name": "centerPoint"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 22037,
                                        "end": 22045,
                                        "loc": {
                                          "start": {
                                            "line": 563,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 563,
                                            "column": 48
                                          }
                                        },
                                        "name": "getState"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                ]
                              },
                              {
                                "type": "ArrayExpression",
                                "start": 22062,
                                "end": 22092,
                                "loc": {
                                  "start": {
                                    "line": 564,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 564,
                                    "column": 42
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 22063,
                                    "end": 22074,
                                    "loc": {
                                      "start": {
                                        "line": 564,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 564,
                                        "column": 24
                                      }
                                    },
                                    "value": "clockwise",
                                    "rawValue": "clockwise",
                                    "raw": "'clockwise'"
                                  },
                                  {
                                    "type": "UnaryExpression",
                                    "start": 22076,
                                    "end": 22091,
                                    "loc": {
                                      "start": {
                                        "line": 564,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 564,
                                        "column": 41
                                      }
                                    },
                                    "operator": "+",
                                    "prefix": true,
                                    "argument": {
                                      "type": "MemberExpression",
                                      "start": 22077,
                                      "end": 22091,
                                      "loc": {
                                        "start": {
                                          "line": 564,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 564,
                                          "column": 41
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 22077,
                                        "end": 22081,
                                        "loc": {
                                          "start": {
                                            "line": 564,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 564,
                                            "column": 31
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 22082,
                                        "end": 22091,
                                        "loc": {
                                          "start": {
                                            "line": 564,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 564,
                                            "column": 41
                                          }
                                        },
                                        "name": "clockwise"
                                      },
                                      "computed": false
                                    }
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 22117,
              "end": 22614,
              "loc": {
                "start": {
                  "line": 568,
                  "column": 4
                },
                "end": {
                  "line": 578,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 22117,
                "end": 22131,
                "loc": {
                  "start": {
                    "line": 568,
                    "column": 4
                  },
                  "end": {
                    "line": 568,
                    "column": 18
                  }
                },
                "name": "applyStateDiff"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 22131,
                "end": 22614,
                "loc": {
                  "start": {
                    "line": 568,
                    "column": 18
                  },
                  "end": {
                    "line": 578,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 22132,
                    "end": 22141,
                    "loc": {
                      "start": {
                        "line": 568,
                        "column": 19
                      },
                      "end": {
                        "line": 568,
                        "column": 28
                      }
                    },
                    "name": "stateDiff"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 22143,
                  "end": 22614,
                  "loc": {
                    "start": {
                      "line": 568,
                      "column": 30
                    },
                    "end": {
                      "line": 578,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 22153,
                      "end": 22257,
                      "loc": {
                        "start": {
                          "line": 569,
                          "column": 8
                        },
                        "end": {
                          "line": 570,
                          "column": 71
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 22157,
                        "end": 22184,
                        "loc": {
                          "start": {
                            "line": 569,
                            "column": 12
                          },
                          "end": {
                            "line": 569,
                            "column": 39
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 22157,
                          "end": 22170,
                          "loc": {
                            "start": {
                              "line": 569,
                              "column": 12
                            },
                            "end": {
                              "line": 569,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 22157,
                            "end": 22166,
                            "loc": {
                              "start": {
                                "line": 569,
                                "column": 12
                              },
                              "end": {
                                "line": 569,
                                "column": 21
                              }
                            },
                            "name": "stateDiff"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 22167,
                            "end": 22170,
                            "loc": {
                              "start": {
                                "line": 569,
                                "column": 22
                              },
                              "end": {
                                "line": 569,
                                "column": 25
                              }
                            },
                            "name": "has"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 22171,
                            "end": 22183,
                            "loc": {
                              "start": {
                                "line": 569,
                                "column": 26
                              },
                              "end": {
                                "line": 569,
                                "column": 38
                              }
                            },
                            "value": "startPoint",
                            "rawValue": "startPoint",
                            "raw": "'startPoint'"
                          }
                        ]
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 22198,
                        "end": 22257,
                        "loc": {
                          "start": {
                            "line": 570,
                            "column": 12
                          },
                          "end": {
                            "line": 570,
                            "column": 71
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 22198,
                          "end": 22256,
                          "loc": {
                            "start": {
                              "line": 570,
                              "column": 12
                            },
                            "end": {
                              "line": 570,
                              "column": 70
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 22198,
                            "end": 22227,
                            "loc": {
                              "start": {
                                "line": 570,
                                "column": 12
                              },
                              "end": {
                                "line": 570,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 22198,
                              "end": 22212,
                              "loc": {
                                "start": {
                                  "line": 570,
                                  "column": 12
                                },
                                "end": {
                                  "line": 570,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 22198,
                                "end": 22209,
                                "loc": {
                                  "start": {
                                    "line": 570,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 570,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 22198,
                                  "end": 22202,
                                  "loc": {
                                    "start": {
                                      "line": 570,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 570,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 22203,
                                  "end": 22209,
                                  "loc": {
                                    "start": {
                                      "line": 570,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 570,
                                      "column": 23
                                    }
                                  },
                                  "name": "points"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Literal",
                                "start": 22210,
                                "end": 22211,
                                "loc": {
                                  "start": {
                                    "line": 570,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 570,
                                    "column": 25
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "computed": true
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 22213,
                              "end": 22227,
                              "loc": {
                                "start": {
                                  "line": 570,
                                  "column": 27
                                },
                                "end": {
                                  "line": 570,
                                  "column": 41
                                }
                              },
                              "name": "applyStateDiff"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 22228,
                              "end": 22255,
                              "loc": {
                                "start": {
                                  "line": 570,
                                  "column": 42
                                },
                                "end": {
                                  "line": 570,
                                  "column": 69
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 22228,
                                "end": 22241,
                                "loc": {
                                  "start": {
                                    "line": 570,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 570,
                                    "column": 55
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 22228,
                                  "end": 22237,
                                  "loc": {
                                    "start": {
                                      "line": 570,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 570,
                                      "column": 51
                                    }
                                  },
                                  "name": "stateDiff"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 22238,
                                  "end": 22241,
                                  "loc": {
                                    "start": {
                                      "line": 570,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 570,
                                      "column": 55
                                    }
                                  },
                                  "name": "get"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 22242,
                                  "end": 22254,
                                  "loc": {
                                    "start": {
                                      "line": 570,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 570,
                                      "column": 68
                                    }
                                  },
                                  "value": "startPoint",
                                  "rawValue": "startPoint",
                                  "raw": "'startPoint'"
                                }
                              ]
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 22266,
                      "end": 22366,
                      "loc": {
                        "start": {
                          "line": 571,
                          "column": 8
                        },
                        "end": {
                          "line": 572,
                          "column": 69
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 22270,
                        "end": 22295,
                        "loc": {
                          "start": {
                            "line": 571,
                            "column": 12
                          },
                          "end": {
                            "line": 571,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 22270,
                          "end": 22283,
                          "loc": {
                            "start": {
                              "line": 571,
                              "column": 12
                            },
                            "end": {
                              "line": 571,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 22270,
                            "end": 22279,
                            "loc": {
                              "start": {
                                "line": 571,
                                "column": 12
                              },
                              "end": {
                                "line": 571,
                                "column": 21
                              }
                            },
                            "name": "stateDiff"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 22280,
                            "end": 22283,
                            "loc": {
                              "start": {
                                "line": 571,
                                "column": 22
                              },
                              "end": {
                                "line": 571,
                                "column": 25
                              }
                            },
                            "name": "has"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 22284,
                            "end": 22294,
                            "loc": {
                              "start": {
                                "line": 571,
                                "column": 26
                              },
                              "end": {
                                "line": 571,
                                "column": 36
                              }
                            },
                            "value": "endPoint",
                            "rawValue": "endPoint",
                            "raw": "'endPoint'"
                          }
                        ]
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 22309,
                        "end": 22366,
                        "loc": {
                          "start": {
                            "line": 572,
                            "column": 12
                          },
                          "end": {
                            "line": 572,
                            "column": 69
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 22309,
                          "end": 22365,
                          "loc": {
                            "start": {
                              "line": 572,
                              "column": 12
                            },
                            "end": {
                              "line": 572,
                              "column": 68
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 22309,
                            "end": 22338,
                            "loc": {
                              "start": {
                                "line": 572,
                                "column": 12
                              },
                              "end": {
                                "line": 572,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 22309,
                              "end": 22323,
                              "loc": {
                                "start": {
                                  "line": 572,
                                  "column": 12
                                },
                                "end": {
                                  "line": 572,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 22309,
                                "end": 22320,
                                "loc": {
                                  "start": {
                                    "line": 572,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 572,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 22309,
                                  "end": 22313,
                                  "loc": {
                                    "start": {
                                      "line": 572,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 572,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 22314,
                                  "end": 22320,
                                  "loc": {
                                    "start": {
                                      "line": 572,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 572,
                                      "column": 23
                                    }
                                  },
                                  "name": "points"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Literal",
                                "start": 22321,
                                "end": 22322,
                                "loc": {
                                  "start": {
                                    "line": 572,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 572,
                                    "column": 25
                                  }
                                },
                                "value": 1,
                                "rawValue": 1,
                                "raw": "1"
                              },
                              "computed": true
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 22324,
                              "end": 22338,
                              "loc": {
                                "start": {
                                  "line": 572,
                                  "column": 27
                                },
                                "end": {
                                  "line": 572,
                                  "column": 41
                                }
                              },
                              "name": "applyStateDiff"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 22339,
                              "end": 22364,
                              "loc": {
                                "start": {
                                  "line": 572,
                                  "column": 42
                                },
                                "end": {
                                  "line": 572,
                                  "column": 67
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 22339,
                                "end": 22352,
                                "loc": {
                                  "start": {
                                    "line": 572,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 572,
                                    "column": 55
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 22339,
                                  "end": 22348,
                                  "loc": {
                                    "start": {
                                      "line": 572,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 572,
                                      "column": 51
                                    }
                                  },
                                  "name": "stateDiff"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 22349,
                                  "end": 22352,
                                  "loc": {
                                    "start": {
                                      "line": 572,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 572,
                                      "column": 55
                                    }
                                  },
                                  "name": "get"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 22353,
                                  "end": 22363,
                                  "loc": {
                                    "start": {
                                      "line": 572,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 572,
                                      "column": 66
                                    }
                                  },
                                  "value": "endPoint",
                                  "rawValue": "endPoint",
                                  "raw": "'endPoint'"
                                }
                              ]
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 22375,
                      "end": 22473,
                      "loc": {
                        "start": {
                          "line": 573,
                          "column": 8
                        },
                        "end": {
                          "line": 574,
                          "column": 69
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 22379,
                        "end": 22402,
                        "loc": {
                          "start": {
                            "line": 573,
                            "column": 12
                          },
                          "end": {
                            "line": 573,
                            "column": 35
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 22379,
                          "end": 22392,
                          "loc": {
                            "start": {
                              "line": 573,
                              "column": 12
                            },
                            "end": {
                              "line": 573,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 22379,
                            "end": 22388,
                            "loc": {
                              "start": {
                                "line": 573,
                                "column": 12
                              },
                              "end": {
                                "line": 573,
                                "column": 21
                              }
                            },
                            "name": "stateDiff"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 22389,
                            "end": 22392,
                            "loc": {
                              "start": {
                                "line": 573,
                                "column": 22
                              },
                              "end": {
                                "line": 573,
                                "column": 25
                              }
                            },
                            "name": "has"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 22393,
                            "end": 22401,
                            "loc": {
                              "start": {
                                "line": 573,
                                "column": 26
                              },
                              "end": {
                                "line": 573,
                                "column": 34
                              }
                            },
                            "value": "center",
                            "rawValue": "center",
                            "raw": "'center'"
                          }
                        ]
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 22416,
                        "end": 22473,
                        "loc": {
                          "start": {
                            "line": 574,
                            "column": 12
                          },
                          "end": {
                            "line": 574,
                            "column": 69
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 22416,
                          "end": 22472,
                          "loc": {
                            "start": {
                              "line": 574,
                              "column": 12
                            },
                            "end": {
                              "line": 574,
                              "column": 68
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 22416,
                            "end": 22447,
                            "loc": {
                              "start": {
                                "line": 574,
                                "column": 12
                              },
                              "end": {
                                "line": 574,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 22416,
                              "end": 22432,
                              "loc": {
                                "start": {
                                  "line": 574,
                                  "column": 12
                                },
                                "end": {
                                  "line": 574,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 22416,
                                "end": 22420,
                                "loc": {
                                  "start": {
                                    "line": 574,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 574,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 22421,
                                "end": 22432,
                                "loc": {
                                  "start": {
                                    "line": 574,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 574,
                                    "column": 28
                                  }
                                },
                                "name": "centerPoint"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 22433,
                              "end": 22447,
                              "loc": {
                                "start": {
                                  "line": 574,
                                  "column": 29
                                },
                                "end": {
                                  "line": 574,
                                  "column": 43
                                }
                              },
                              "name": "applyStateDiff"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 22448,
                              "end": 22471,
                              "loc": {
                                "start": {
                                  "line": 574,
                                  "column": 44
                                },
                                "end": {
                                  "line": 574,
                                  "column": 67
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 22448,
                                "end": 22461,
                                "loc": {
                                  "start": {
                                    "line": 574,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 574,
                                    "column": 57
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 22448,
                                  "end": 22457,
                                  "loc": {
                                    "start": {
                                      "line": 574,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 574,
                                      "column": 53
                                    }
                                  },
                                  "name": "stateDiff"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 22458,
                                  "end": 22461,
                                  "loc": {
                                    "start": {
                                      "line": 574,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 574,
                                      "column": 57
                                    }
                                  },
                                  "name": "get"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 22462,
                                  "end": 22470,
                                  "loc": {
                                    "start": {
                                      "line": 574,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 574,
                                      "column": 66
                                    }
                                  },
                                  "value": "center",
                                  "rawValue": "center",
                                  "raw": "'center'"
                                }
                              ]
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 22482,
                      "end": 22577,
                      "loc": {
                        "start": {
                          "line": 575,
                          "column": 8
                        },
                        "end": {
                          "line": 576,
                          "column": 63
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 22486,
                        "end": 22512,
                        "loc": {
                          "start": {
                            "line": 575,
                            "column": 12
                          },
                          "end": {
                            "line": 575,
                            "column": 38
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 22486,
                          "end": 22499,
                          "loc": {
                            "start": {
                              "line": 575,
                              "column": 12
                            },
                            "end": {
                              "line": 575,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 22486,
                            "end": 22495,
                            "loc": {
                              "start": {
                                "line": 575,
                                "column": 12
                              },
                              "end": {
                                "line": 575,
                                "column": 21
                              }
                            },
                            "name": "stateDiff"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 22496,
                            "end": 22499,
                            "loc": {
                              "start": {
                                "line": 575,
                                "column": 22
                              },
                              "end": {
                                "line": 575,
                                "column": 25
                              }
                            },
                            "name": "has"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 22500,
                            "end": 22511,
                            "loc": {
                              "start": {
                                "line": 575,
                                "column": 26
                              },
                              "end": {
                                "line": 575,
                                "column": 37
                              }
                            },
                            "value": "clockwise",
                            "rawValue": "clockwise",
                            "raw": "'clockwise'"
                          }
                        ]
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 22526,
                        "end": 22577,
                        "loc": {
                          "start": {
                            "line": 576,
                            "column": 12
                          },
                          "end": {
                            "line": 576,
                            "column": 63
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 22526,
                          "end": 22576,
                          "loc": {
                            "start": {
                              "line": 576,
                              "column": 12
                            },
                            "end": {
                              "line": 576,
                              "column": 62
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 22526,
                            "end": 22540,
                            "loc": {
                              "start": {
                                "line": 576,
                                "column": 12
                              },
                              "end": {
                                "line": 576,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 22526,
                              "end": 22530,
                              "loc": {
                                "start": {
                                  "line": 576,
                                  "column": 12
                                },
                                "end": {
                                  "line": 576,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 22531,
                              "end": 22540,
                              "loc": {
                                "start": {
                                  "line": 576,
                                  "column": 17
                                },
                                "end": {
                                  "line": 576,
                                  "column": 26
                                }
                              },
                              "name": "clockwise"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "BinaryExpression",
                            "start": 22544,
                            "end": 22575,
                            "loc": {
                              "start": {
                                "line": 576,
                                "column": 30
                              },
                              "end": {
                                "line": 576,
                                "column": 61
                              }
                            },
                            "left": {
                              "type": "CallExpression",
                              "start": 22544,
                              "end": 22570,
                              "loc": {
                                "start": {
                                  "line": 576,
                                  "column": 30
                                },
                                "end": {
                                  "line": 576,
                                  "column": 56
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 22544,
                                "end": 22557,
                                "loc": {
                                  "start": {
                                    "line": 576,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 576,
                                    "column": 43
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 22544,
                                  "end": 22553,
                                  "loc": {
                                    "start": {
                                      "line": 576,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 576,
                                      "column": 39
                                    }
                                  },
                                  "name": "stateDiff"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 22554,
                                  "end": 22557,
                                  "loc": {
                                    "start": {
                                      "line": 576,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 576,
                                      "column": 43
                                    }
                                  },
                                  "name": "get"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 22558,
                                  "end": 22569,
                                  "loc": {
                                    "start": {
                                      "line": 576,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 576,
                                      "column": 55
                                    }
                                  },
                                  "value": "clockwise",
                                  "rawValue": "clockwise",
                                  "raw": "'clockwise'"
                                }
                              ]
                            },
                            "operator": "!=",
                            "right": {
                              "type": "Literal",
                              "start": 22574,
                              "end": 22575,
                              "loc": {
                                "start": {
                                  "line": 576,
                                  "column": 60
                                },
                                "end": {
                                  "line": 576,
                                  "column": 61
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "parenthesizedExpression": true
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 22586,
                      "end": 22608,
                      "loc": {
                        "start": {
                          "line": 577,
                          "column": 8
                        },
                        "end": {
                          "line": 577,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 22586,
                        "end": 22607,
                        "loc": {
                          "start": {
                            "line": 577,
                            "column": 8
                          },
                          "end": {
                            "line": 577,
                            "column": 29
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 22586,
                          "end": 22605,
                          "loc": {
                            "start": {
                              "line": 577,
                              "column": 8
                            },
                            "end": {
                              "line": 577,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 22586,
                            "end": 22590,
                            "loc": {
                              "start": {
                                "line": 577,
                                "column": 8
                              },
                              "end": {
                                "line": 577,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 22591,
                            "end": 22605,
                            "loc": {
                              "start": {
                                "line": 577,
                                "column": 13
                              },
                              "end": {
                                "line": 577,
                                "column": 27
                              }
                            },
                            "name": "updateGeometry"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 22620,
              "end": 23192,
              "loc": {
                "start": {
                  "line": 580,
                  "column": 4
                },
                "end": {
                  "line": 593,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 22620,
                "end": 22632,
                "loc": {
                  "start": {
                    "line": 580,
                    "column": 4
                  },
                  "end": {
                    "line": 580,
                    "column": 16
                  }
                },
                "name": "addStateDiff"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 22632,
                "end": 23192,
                "loc": {
                  "start": {
                    "line": 580,
                    "column": 16
                  },
                  "end": {
                    "line": 593,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 22633,
                    "end": 22642,
                    "loc": {
                      "start": {
                        "line": 580,
                        "column": 17
                      },
                      "end": {
                        "line": 580,
                        "column": 26
                      }
                    },
                    "name": "stateDiff"
                  },
                  {
                    "type": "Identifier",
                    "start": 22644,
                    "end": 22649,
                    "loc": {
                      "start": {
                        "line": 580,
                        "column": 28
                      },
                      "end": {
                        "line": 580,
                        "column": 33
                      }
                    },
                    "name": "alpha"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 22651,
                  "end": 23192,
                  "loc": {
                    "start": {
                      "line": 580,
                      "column": 35
                    },
                    "end": {
                      "line": 593,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 22661,
                      "end": 22692,
                      "loc": {
                        "start": {
                          "line": 581,
                          "column": 8
                        },
                        "end": {
                          "line": 581,
                          "column": 39
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 22665,
                        "end": 22683,
                        "loc": {
                          "start": {
                            "line": 581,
                            "column": 12
                          },
                          "end": {
                            "line": 581,
                            "column": 30
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 22665,
                          "end": 22674,
                          "loc": {
                            "start": {
                              "line": 581,
                              "column": 12
                            },
                            "end": {
                              "line": 581,
                              "column": 21
                            }
                          },
                          "name": "stateDiff"
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 22679,
                          "end": 22683,
                          "loc": {
                            "start": {
                              "line": 581,
                              "column": 26
                            },
                            "end": {
                              "line": 581,
                              "column": 30
                            }
                          },
                          "value": null,
                          "rawValue": null,
                          "raw": "null"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 22685,
                        "end": 22692,
                        "loc": {
                          "start": {
                            "line": 581,
                            "column": 32
                          },
                          "end": {
                            "line": 581,
                            "column": 39
                          }
                        },
                        "argument": null,
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "return; // arc collapses to 0.0.0",
                          "start": 22702,
                          "end": 22737,
                          "loc": {
                            "start": {
                              "line": 583,
                              "column": 8
                            },
                            "end": {
                              "line": 583,
                              "column": 43
                            }
                          },
                          "range": [
                            22702,
                            22737
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 22747,
                      "end": 22856,
                      "loc": {
                        "start": {
                          "line": 585,
                          "column": 8
                        },
                        "end": {
                          "line": 586,
                          "column": 76
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 22751,
                        "end": 22778,
                        "loc": {
                          "start": {
                            "line": 585,
                            "column": 12
                          },
                          "end": {
                            "line": 585,
                            "column": 39
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 22751,
                          "end": 22764,
                          "loc": {
                            "start": {
                              "line": 585,
                              "column": 12
                            },
                            "end": {
                              "line": 585,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 22751,
                            "end": 22760,
                            "loc": {
                              "start": {
                                "line": 585,
                                "column": 12
                              },
                              "end": {
                                "line": 585,
                                "column": 21
                              }
                            },
                            "name": "stateDiff",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 22761,
                            "end": 22764,
                            "loc": {
                              "start": {
                                "line": 585,
                                "column": 22
                              },
                              "end": {
                                "line": 585,
                                "column": 25
                              }
                            },
                            "name": "has"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 22765,
                            "end": 22777,
                            "loc": {
                              "start": {
                                "line": 585,
                                "column": 26
                              },
                              "end": {
                                "line": 585,
                                "column": 38
                              }
                            },
                            "value": "startPoint",
                            "rawValue": "startPoint",
                            "raw": "'startPoint'"
                          }
                        ],
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 22792,
                        "end": 22856,
                        "loc": {
                          "start": {
                            "line": 586,
                            "column": 12
                          },
                          "end": {
                            "line": 586,
                            "column": 76
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 22792,
                          "end": 22855,
                          "loc": {
                            "start": {
                              "line": 586,
                              "column": 12
                            },
                            "end": {
                              "line": 586,
                              "column": 75
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 22792,
                            "end": 22819,
                            "loc": {
                              "start": {
                                "line": 586,
                                "column": 12
                              },
                              "end": {
                                "line": 586,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 22792,
                              "end": 22806,
                              "loc": {
                                "start": {
                                  "line": 586,
                                  "column": 12
                                },
                                "end": {
                                  "line": 586,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 22792,
                                "end": 22803,
                                "loc": {
                                  "start": {
                                    "line": 586,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 586,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 22792,
                                  "end": 22796,
                                  "loc": {
                                    "start": {
                                      "line": 586,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 586,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 22797,
                                  "end": 22803,
                                  "loc": {
                                    "start": {
                                      "line": 586,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 586,
                                      "column": 23
                                    }
                                  },
                                  "name": "points"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Literal",
                                "start": 22804,
                                "end": 22805,
                                "loc": {
                                  "start": {
                                    "line": 586,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 586,
                                    "column": 25
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "computed": true
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 22807,
                              "end": 22819,
                              "loc": {
                                "start": {
                                  "line": 586,
                                  "column": 27
                                },
                                "end": {
                                  "line": 586,
                                  "column": 39
                                }
                              },
                              "name": "addStateDiff"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 22820,
                              "end": 22847,
                              "loc": {
                                "start": {
                                  "line": 586,
                                  "column": 40
                                },
                                "end": {
                                  "line": 586,
                                  "column": 67
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 22820,
                                "end": 22833,
                                "loc": {
                                  "start": {
                                    "line": 586,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 586,
                                    "column": 53
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 22820,
                                  "end": 22829,
                                  "loc": {
                                    "start": {
                                      "line": 586,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 586,
                                      "column": 49
                                    }
                                  },
                                  "name": "stateDiff"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 22830,
                                  "end": 22833,
                                  "loc": {
                                    "start": {
                                      "line": 586,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 586,
                                      "column": 53
                                    }
                                  },
                                  "name": "get"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 22834,
                                  "end": 22846,
                                  "loc": {
                                    "start": {
                                      "line": 586,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 586,
                                      "column": 66
                                    }
                                  },
                                  "value": "startPoint",
                                  "rawValue": "startPoint",
                                  "raw": "'startPoint'"
                                }
                              ]
                            },
                            {
                              "type": "Identifier",
                              "start": 22849,
                              "end": 22854,
                              "loc": {
                                "start": {
                                  "line": 586,
                                  "column": 69
                                },
                                "end": {
                                  "line": 586,
                                  "column": 74
                                }
                              },
                              "name": "alpha"
                            }
                          ]
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "return; // arc collapses to 0.0.0",
                          "start": 22702,
                          "end": 22737,
                          "loc": {
                            "start": {
                              "line": 583,
                              "column": 8
                            },
                            "end": {
                              "line": 583,
                              "column": 43
                            }
                          },
                          "range": [
                            22702,
                            22737
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 22865,
                      "end": 22970,
                      "loc": {
                        "start": {
                          "line": 587,
                          "column": 8
                        },
                        "end": {
                          "line": 588,
                          "column": 74
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 22869,
                        "end": 22894,
                        "loc": {
                          "start": {
                            "line": 587,
                            "column": 12
                          },
                          "end": {
                            "line": 587,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 22869,
                          "end": 22882,
                          "loc": {
                            "start": {
                              "line": 587,
                              "column": 12
                            },
                            "end": {
                              "line": 587,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 22869,
                            "end": 22878,
                            "loc": {
                              "start": {
                                "line": 587,
                                "column": 12
                              },
                              "end": {
                                "line": 587,
                                "column": 21
                              }
                            },
                            "name": "stateDiff"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 22879,
                            "end": 22882,
                            "loc": {
                              "start": {
                                "line": 587,
                                "column": 22
                              },
                              "end": {
                                "line": 587,
                                "column": 25
                              }
                            },
                            "name": "has"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 22883,
                            "end": 22893,
                            "loc": {
                              "start": {
                                "line": 587,
                                "column": 26
                              },
                              "end": {
                                "line": 587,
                                "column": 36
                              }
                            },
                            "value": "endPoint",
                            "rawValue": "endPoint",
                            "raw": "'endPoint'"
                          }
                        ]
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 22908,
                        "end": 22970,
                        "loc": {
                          "start": {
                            "line": 588,
                            "column": 12
                          },
                          "end": {
                            "line": 588,
                            "column": 74
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 22908,
                          "end": 22969,
                          "loc": {
                            "start": {
                              "line": 588,
                              "column": 12
                            },
                            "end": {
                              "line": 588,
                              "column": 73
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 22908,
                            "end": 22935,
                            "loc": {
                              "start": {
                                "line": 588,
                                "column": 12
                              },
                              "end": {
                                "line": 588,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 22908,
                              "end": 22922,
                              "loc": {
                                "start": {
                                  "line": 588,
                                  "column": 12
                                },
                                "end": {
                                  "line": 588,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 22908,
                                "end": 22919,
                                "loc": {
                                  "start": {
                                    "line": 588,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 588,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 22908,
                                  "end": 22912,
                                  "loc": {
                                    "start": {
                                      "line": 588,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 588,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 22913,
                                  "end": 22919,
                                  "loc": {
                                    "start": {
                                      "line": 588,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 588,
                                      "column": 23
                                    }
                                  },
                                  "name": "points"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Literal",
                                "start": 22920,
                                "end": 22921,
                                "loc": {
                                  "start": {
                                    "line": 588,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 588,
                                    "column": 25
                                  }
                                },
                                "value": 1,
                                "rawValue": 1,
                                "raw": "1"
                              },
                              "computed": true
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 22923,
                              "end": 22935,
                              "loc": {
                                "start": {
                                  "line": 588,
                                  "column": 27
                                },
                                "end": {
                                  "line": 588,
                                  "column": 39
                                }
                              },
                              "name": "addStateDiff"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 22936,
                              "end": 22961,
                              "loc": {
                                "start": {
                                  "line": 588,
                                  "column": 40
                                },
                                "end": {
                                  "line": 588,
                                  "column": 65
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 22936,
                                "end": 22949,
                                "loc": {
                                  "start": {
                                    "line": 588,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 588,
                                    "column": 53
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 22936,
                                  "end": 22945,
                                  "loc": {
                                    "start": {
                                      "line": 588,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 588,
                                      "column": 49
                                    }
                                  },
                                  "name": "stateDiff"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 22946,
                                  "end": 22949,
                                  "loc": {
                                    "start": {
                                      "line": 588,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 588,
                                      "column": 53
                                    }
                                  },
                                  "name": "get"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 22950,
                                  "end": 22960,
                                  "loc": {
                                    "start": {
                                      "line": 588,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 588,
                                      "column": 64
                                    }
                                  },
                                  "value": "endPoint",
                                  "rawValue": "endPoint",
                                  "raw": "'endPoint'"
                                }
                              ]
                            },
                            {
                              "type": "Identifier",
                              "start": 22963,
                              "end": 22968,
                              "loc": {
                                "start": {
                                  "line": 588,
                                  "column": 67
                                },
                                "end": {
                                  "line": 588,
                                  "column": 72
                                }
                              },
                              "name": "alpha"
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 22979,
                      "end": 23082,
                      "loc": {
                        "start": {
                          "line": 589,
                          "column": 8
                        },
                        "end": {
                          "line": 590,
                          "column": 74
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 22983,
                        "end": 23006,
                        "loc": {
                          "start": {
                            "line": 589,
                            "column": 12
                          },
                          "end": {
                            "line": 589,
                            "column": 35
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 22983,
                          "end": 22996,
                          "loc": {
                            "start": {
                              "line": 589,
                              "column": 12
                            },
                            "end": {
                              "line": 589,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 22983,
                            "end": 22992,
                            "loc": {
                              "start": {
                                "line": 589,
                                "column": 12
                              },
                              "end": {
                                "line": 589,
                                "column": 21
                              }
                            },
                            "name": "stateDiff"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 22993,
                            "end": 22996,
                            "loc": {
                              "start": {
                                "line": 589,
                                "column": 22
                              },
                              "end": {
                                "line": 589,
                                "column": 25
                              }
                            },
                            "name": "has"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 22997,
                            "end": 23005,
                            "loc": {
                              "start": {
                                "line": 589,
                                "column": 26
                              },
                              "end": {
                                "line": 589,
                                "column": 34
                              }
                            },
                            "value": "center",
                            "rawValue": "center",
                            "raw": "'center'"
                          }
                        ]
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 23020,
                        "end": 23082,
                        "loc": {
                          "start": {
                            "line": 590,
                            "column": 12
                          },
                          "end": {
                            "line": 590,
                            "column": 74
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 23020,
                          "end": 23081,
                          "loc": {
                            "start": {
                              "line": 590,
                              "column": 12
                            },
                            "end": {
                              "line": 590,
                              "column": 73
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 23020,
                            "end": 23049,
                            "loc": {
                              "start": {
                                "line": 590,
                                "column": 12
                              },
                              "end": {
                                "line": 590,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 23020,
                              "end": 23036,
                              "loc": {
                                "start": {
                                  "line": 590,
                                  "column": 12
                                },
                                "end": {
                                  "line": 590,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 23020,
                                "end": 23024,
                                "loc": {
                                  "start": {
                                    "line": 590,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 590,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 23025,
                                "end": 23036,
                                "loc": {
                                  "start": {
                                    "line": 590,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 590,
                                    "column": 28
                                  }
                                },
                                "name": "centerPoint"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 23037,
                              "end": 23049,
                              "loc": {
                                "start": {
                                  "line": 590,
                                  "column": 29
                                },
                                "end": {
                                  "line": 590,
                                  "column": 41
                                }
                              },
                              "name": "addStateDiff"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 23050,
                              "end": 23073,
                              "loc": {
                                "start": {
                                  "line": 590,
                                  "column": 42
                                },
                                "end": {
                                  "line": 590,
                                  "column": 65
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 23050,
                                "end": 23063,
                                "loc": {
                                  "start": {
                                    "line": 590,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 590,
                                    "column": 55
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 23050,
                                  "end": 23059,
                                  "loc": {
                                    "start": {
                                      "line": 590,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 590,
                                      "column": 51
                                    }
                                  },
                                  "name": "stateDiff"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 23060,
                                  "end": 23063,
                                  "loc": {
                                    "start": {
                                      "line": 590,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 590,
                                      "column": 55
                                    }
                                  },
                                  "name": "get"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 23064,
                                  "end": 23072,
                                  "loc": {
                                    "start": {
                                      "line": 590,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 590,
                                      "column": 64
                                    }
                                  },
                                  "value": "center",
                                  "rawValue": "center",
                                  "raw": "'center'"
                                }
                              ]
                            },
                            {
                              "type": "Identifier",
                              "start": 23075,
                              "end": 23080,
                              "loc": {
                                "start": {
                                  "line": 590,
                                  "column": 67
                                },
                                "end": {
                                  "line": 590,
                                  "column": 72
                                }
                              },
                              "name": "alpha"
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 23091,
                      "end": 23186,
                      "loc": {
                        "start": {
                          "line": 591,
                          "column": 8
                        },
                        "end": {
                          "line": 592,
                          "column": 63
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 23095,
                        "end": 23121,
                        "loc": {
                          "start": {
                            "line": 591,
                            "column": 12
                          },
                          "end": {
                            "line": 591,
                            "column": 38
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 23095,
                          "end": 23108,
                          "loc": {
                            "start": {
                              "line": 591,
                              "column": 12
                            },
                            "end": {
                              "line": 591,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 23095,
                            "end": 23104,
                            "loc": {
                              "start": {
                                "line": 591,
                                "column": 12
                              },
                              "end": {
                                "line": 591,
                                "column": 21
                              }
                            },
                            "name": "stateDiff"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 23105,
                            "end": 23108,
                            "loc": {
                              "start": {
                                "line": 591,
                                "column": 22
                              },
                              "end": {
                                "line": 591,
                                "column": 25
                              }
                            },
                            "name": "has"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 23109,
                            "end": 23120,
                            "loc": {
                              "start": {
                                "line": 591,
                                "column": 26
                              },
                              "end": {
                                "line": 591,
                                "column": 37
                              }
                            },
                            "value": "clockwise",
                            "rawValue": "clockwise",
                            "raw": "'clockwise'"
                          }
                        ]
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 23135,
                        "end": 23186,
                        "loc": {
                          "start": {
                            "line": 592,
                            "column": 12
                          },
                          "end": {
                            "line": 592,
                            "column": 63
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 23135,
                          "end": 23185,
                          "loc": {
                            "start": {
                              "line": 592,
                              "column": 12
                            },
                            "end": {
                              "line": 592,
                              "column": 62
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 23135,
                            "end": 23149,
                            "loc": {
                              "start": {
                                "line": 592,
                                "column": 12
                              },
                              "end": {
                                "line": 592,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 23135,
                              "end": 23139,
                              "loc": {
                                "start": {
                                  "line": 592,
                                  "column": 12
                                },
                                "end": {
                                  "line": 592,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 23140,
                              "end": 23149,
                              "loc": {
                                "start": {
                                  "line": 592,
                                  "column": 17
                                },
                                "end": {
                                  "line": 592,
                                  "column": 26
                                }
                              },
                              "name": "clockwise"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "BinaryExpression",
                            "start": 23153,
                            "end": 23184,
                            "loc": {
                              "start": {
                                "line": 592,
                                "column": 30
                              },
                              "end": {
                                "line": 592,
                                "column": 61
                              }
                            },
                            "left": {
                              "type": "CallExpression",
                              "start": 23153,
                              "end": 23179,
                              "loc": {
                                "start": {
                                  "line": 592,
                                  "column": 30
                                },
                                "end": {
                                  "line": 592,
                                  "column": 56
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 23153,
                                "end": 23166,
                                "loc": {
                                  "start": {
                                    "line": 592,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 592,
                                    "column": 43
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 23153,
                                  "end": 23162,
                                  "loc": {
                                    "start": {
                                      "line": 592,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 592,
                                      "column": 39
                                    }
                                  },
                                  "name": "stateDiff"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 23163,
                                  "end": 23166,
                                  "loc": {
                                    "start": {
                                      "line": 592,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 592,
                                      "column": 43
                                    }
                                  },
                                  "name": "get"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 23167,
                                  "end": 23178,
                                  "loc": {
                                    "start": {
                                      "line": 592,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 592,
                                      "column": 55
                                    }
                                  },
                                  "value": "clockwise",
                                  "rawValue": "clockwise",
                                  "raw": "'clockwise'"
                                }
                              ]
                            },
                            "operator": "!=",
                            "right": {
                              "type": "Literal",
                              "start": 23183,
                              "end": 23184,
                              "loc": {
                                "start": {
                                  "line": 592,
                                  "column": 60
                                },
                                "end": {
                                  "line": 592,
                                  "column": 61
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "parenthesizedExpression": true
                          }
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 23198,
              "end": 23367,
              "loc": {
                "start": {
                  "line": 595,
                  "column": 4
                },
                "end": {
                  "line": 597,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 23198,
                "end": 23216,
                "loc": {
                  "start": {
                    "line": 595,
                    "column": 4
                  },
                  "end": {
                    "line": 595,
                    "column": 22
                  }
                },
                "name": "prepareAddOnServer"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 23216,
                "end": 23367,
                "loc": {
                  "start": {
                    "line": 595,
                    "column": 22
                  },
                  "end": {
                    "line": 597,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 23217,
                    "end": 23223,
                    "loc": {
                      "start": {
                        "line": 595,
                        "column": 23
                      },
                      "end": {
                        "line": 595,
                        "column": 29
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 23225,
                  "end": 23367,
                  "loc": {
                    "start": {
                      "line": 595,
                      "column": 31
                    },
                    "end": {
                      "line": 597,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 23235,
                      "end": 23361,
                      "loc": {
                        "start": {
                          "line": 596,
                          "column": 8
                        },
                        "end": {
                          "line": 596,
                          "column": 134
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 23242,
                        "end": 23360,
                        "loc": {
                          "start": {
                            "line": 596,
                            "column": 15
                          },
                          "end": {
                            "line": 596,
                            "column": 133
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 23242,
                          "end": 23354,
                          "loc": {
                            "start": {
                              "line": 596,
                              "column": 15
                            },
                            "end": {
                              "line": 596,
                              "column": 127
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 23242,
                            "end": 23340,
                            "loc": {
                              "start": {
                                "line": 596,
                                "column": 15
                              },
                              "end": {
                                "line": 596,
                                "column": 113
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 23242,
                              "end": 23256,
                              "loc": {
                                "start": {
                                  "line": 596,
                                  "column": 15
                                },
                                "end": {
                                  "line": 596,
                                  "column": 29
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 23242,
                                "end": 23249,
                                "loc": {
                                  "start": {
                                    "line": 596,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 596,
                                    "column": 22
                                  }
                                },
                                "name": "Interop"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 23250,
                                "end": 23256,
                                "loc": {
                                  "start": {
                                    "line": 596,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 596,
                                    "column": 29
                                  }
                                },
                                "name": "AddArc"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 23257,
                                "end": 23263,
                                "loc": {
                                  "start": {
                                    "line": 596,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 596,
                                    "column": 36
                                  }
                                },
                                "name": "sketch"
                              },
                              {
                                "type": "MemberExpression",
                                "start": 23265,
                                "end": 23288,
                                "loc": {
                                  "start": {
                                    "line": 596,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 596,
                                    "column": 61
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 23265,
                                  "end": 23279,
                                  "loc": {
                                    "start": {
                                      "line": 596,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 596,
                                      "column": 52
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 23265,
                                    "end": 23276,
                                    "loc": {
                                      "start": {
                                        "line": 596,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 596,
                                        "column": 49
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 23265,
                                      "end": 23269,
                                      "loc": {
                                        "start": {
                                          "line": 596,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 596,
                                          "column": 42
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 23270,
                                      "end": 23276,
                                      "loc": {
                                        "start": {
                                          "line": 596,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 596,
                                          "column": 49
                                        }
                                      },
                                      "name": "points"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 23277,
                                    "end": 23278,
                                    "loc": {
                                      "start": {
                                        "line": 596,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 596,
                                        "column": 51
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 23280,
                                  "end": 23288,
                                  "loc": {
                                    "start": {
                                      "line": 596,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 596,
                                      "column": 61
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              },
                              {
                                "type": "CallExpression",
                                "start": 23290,
                                "end": 23314,
                                "loc": {
                                  "start": {
                                    "line": 596,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 596,
                                    "column": 87
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 23290,
                                  "end": 23312,
                                  "loc": {
                                    "start": {
                                      "line": 596,
                                      "column": 63
                                    },
                                    "end": {
                                      "line": 596,
                                      "column": 85
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 23290,
                                    "end": 23294,
                                    "loc": {
                                      "start": {
                                        "line": 596,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 596,
                                        "column": 67
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 23295,
                                    "end": 23312,
                                    "loc": {
                                      "start": {
                                        "line": 596,
                                        "column": 68
                                      },
                                      "end": {
                                        "line": 596,
                                        "column": 85
                                      }
                                    },
                                    "name": "getMiddlePosition"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              {
                                "type": "MemberExpression",
                                "start": 23316,
                                "end": 23339,
                                "loc": {
                                  "start": {
                                    "line": 596,
                                    "column": 89
                                  },
                                  "end": {
                                    "line": 596,
                                    "column": 112
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 23316,
                                  "end": 23330,
                                  "loc": {
                                    "start": {
                                      "line": 596,
                                      "column": 89
                                    },
                                    "end": {
                                      "line": 596,
                                      "column": 103
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 23316,
                                    "end": 23327,
                                    "loc": {
                                      "start": {
                                        "line": 596,
                                        "column": 89
                                      },
                                      "end": {
                                        "line": 596,
                                        "column": 100
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 23316,
                                      "end": 23320,
                                      "loc": {
                                        "start": {
                                          "line": 596,
                                          "column": 89
                                        },
                                        "end": {
                                          "line": 596,
                                          "column": 93
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 23321,
                                      "end": 23327,
                                      "loc": {
                                        "start": {
                                          "line": 596,
                                          "column": 94
                                        },
                                        "end": {
                                          "line": 596,
                                          "column": 100
                                        }
                                      },
                                      "name": "points"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 23328,
                                    "end": 23329,
                                    "loc": {
                                      "start": {
                                        "line": 596,
                                        "column": 101
                                      },
                                      "end": {
                                        "line": 596,
                                        "column": 102
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 23331,
                                  "end": 23339,
                                  "loc": {
                                    "start": {
                                      "line": 596,
                                      "column": 104
                                    },
                                    "end": {
                                      "line": 596,
                                      "column": 112
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 23341,
                            "end": 23354,
                            "loc": {
                              "start": {
                                "line": 596,
                                "column": 114
                              },
                              "end": {
                                "line": 596,
                                "column": 127
                              }
                            },
                            "name": "parseToObject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 23355,
                            "end": 23359,
                            "loc": {
                              "start": {
                                "line": 596,
                                "column": 128
                              },
                              "end": {
                                "line": 596,
                                "column": 132
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 23373,
              "end": 23700,
              "loc": {
                "start": {
                  "line": 599,
                  "column": 4
                },
                "end": {
                  "line": 608,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 23373,
                "end": 23394,
                "loc": {
                  "start": {
                    "line": 599,
                    "column": 4
                  },
                  "end": {
                    "line": 599,
                    "column": 25
                  }
                },
                "name": "prepareUpdateToServer"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 23394,
                "end": 23700,
                "loc": {
                  "start": {
                    "line": 599,
                    "column": 25
                  },
                  "end": {
                    "line": 608,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 23395,
                    "end": 23401,
                    "loc": {
                      "start": {
                        "line": 599,
                        "column": 26
                      },
                      "end": {
                        "line": 599,
                        "column": 32
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 23403,
                  "end": 23700,
                  "loc": {
                    "start": {
                      "line": 599,
                      "column": 34
                    },
                    "end": {
                      "line": 608,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 23413,
                      "end": 23694,
                      "loc": {
                        "start": {
                          "line": 600,
                          "column": 8
                        },
                        "end": {
                          "line": 607,
                          "column": 30
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 23420,
                        "end": 23693,
                        "loc": {
                          "start": {
                            "line": 600,
                            "column": 15
                          },
                          "end": {
                            "line": 607,
                            "column": 29
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 23420,
                          "end": 23687,
                          "loc": {
                            "start": {
                              "line": 600,
                              "column": 15
                            },
                            "end": {
                              "line": 607,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 23420,
                            "end": 23673,
                            "loc": {
                              "start": {
                                "line": 600,
                                "column": 15
                              },
                              "end": {
                                "line": 607,
                                "column": 9
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 23420,
                              "end": 23437,
                              "loc": {
                                "start": {
                                  "line": 600,
                                  "column": 15
                                },
                                "end": {
                                  "line": 600,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 23420,
                                "end": 23427,
                                "loc": {
                                  "start": {
                                    "line": 600,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 600,
                                    "column": 22
                                  }
                                },
                                "name": "Interop"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 23428,
                                "end": 23437,
                                "loc": {
                                  "start": {
                                    "line": 600,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 600,
                                    "column": 32
                                  }
                                },
                                "name": "UpdateArc"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 23451,
                                "end": 23457,
                                "loc": {
                                  "start": {
                                    "line": 601,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 601,
                                    "column": 18
                                  }
                                },
                                "name": "sketch"
                              },
                              {
                                "type": "ThisExpression",
                                "start": 23471,
                                "end": 23475,
                                "loc": {
                                  "start": {
                                    "line": 602,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 602,
                                    "column": 16
                                  }
                                }
                              },
                              {
                                "type": "MemberExpression",
                                "start": 23489,
                                "end": 23512,
                                "loc": {
                                  "start": {
                                    "line": 603,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 603,
                                    "column": 35
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 23489,
                                  "end": 23503,
                                  "loc": {
                                    "start": {
                                      "line": 603,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 603,
                                      "column": 26
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 23489,
                                    "end": 23500,
                                    "loc": {
                                      "start": {
                                        "line": 603,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 603,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 23489,
                                      "end": 23493,
                                      "loc": {
                                        "start": {
                                          "line": 603,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 603,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 23494,
                                      "end": 23500,
                                      "loc": {
                                        "start": {
                                          "line": 603,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 603,
                                          "column": 23
                                        }
                                      },
                                      "name": "points"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 23501,
                                    "end": 23502,
                                    "loc": {
                                      "start": {
                                        "line": 603,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 603,
                                        "column": 25
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 23504,
                                  "end": 23512,
                                  "loc": {
                                    "start": {
                                      "line": 603,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 603,
                                      "column": 35
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 23526,
                                "end": 23549,
                                "loc": {
                                  "start": {
                                    "line": 604,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 604,
                                    "column": 35
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 23526,
                                  "end": 23540,
                                  "loc": {
                                    "start": {
                                      "line": 604,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 604,
                                      "column": 26
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 23526,
                                    "end": 23537,
                                    "loc": {
                                      "start": {
                                        "line": 604,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 604,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 23526,
                                      "end": 23530,
                                      "loc": {
                                        "start": {
                                          "line": 604,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 604,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 23531,
                                      "end": 23537,
                                      "loc": {
                                        "start": {
                                          "line": 604,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 604,
                                          "column": 23
                                        }
                                      },
                                      "name": "points"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 23538,
                                    "end": 23539,
                                    "loc": {
                                      "start": {
                                        "line": 604,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 604,
                                        "column": 25
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 23541,
                                  "end": 23549,
                                  "loc": {
                                    "start": {
                                      "line": 604,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 604,
                                      "column": 35
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 23563,
                                "end": 23588,
                                "loc": {
                                  "start": {
                                    "line": 605,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 605,
                                    "column": 37
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 23563,
                                  "end": 23579,
                                  "loc": {
                                    "start": {
                                      "line": 605,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 605,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 23563,
                                    "end": 23567,
                                    "loc": {
                                      "start": {
                                        "line": 605,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 605,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 23568,
                                    "end": 23579,
                                    "loc": {
                                      "start": {
                                        "line": 605,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 605,
                                        "column": 28
                                      }
                                    },
                                    "name": "centerPoint"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 23580,
                                  "end": 23588,
                                  "loc": {
                                    "start": {
                                      "line": 605,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 605,
                                      "column": 37
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              },
                              {
                                "type": "CallExpression",
                                "start": 23602,
                                "end": 23663,
                                "loc": {
                                  "start": {
                                    "line": 606,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 606,
                                    "column": 73
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 23602,
                                  "end": 23636,
                                  "loc": {
                                    "start": {
                                      "line": 606,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 606,
                                      "column": 46
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 23602,
                                    "end": 23625,
                                    "loc": {
                                      "start": {
                                        "line": 606,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 606,
                                        "column": 35
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 23602,
                                      "end": 23616,
                                      "loc": {
                                        "start": {
                                          "line": 606,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 606,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 23602,
                                        "end": 23613,
                                        "loc": {
                                          "start": {
                                            "line": 606,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 606,
                                            "column": 23
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 23602,
                                          "end": 23606,
                                          "loc": {
                                            "start": {
                                              "line": 606,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 606,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 23607,
                                          "end": 23613,
                                          "loc": {
                                            "start": {
                                              "line": 606,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 606,
                                              "column": 23
                                            }
                                          },
                                          "name": "points"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Literal",
                                        "start": 23614,
                                        "end": 23615,
                                        "loc": {
                                          "start": {
                                            "line": 606,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 606,
                                            "column": 25
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 23617,
                                      "end": 23625,
                                      "loc": {
                                        "start": {
                                          "line": 606,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 606,
                                          "column": 35
                                        }
                                      },
                                      "name": "position"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 23626,
                                    "end": 23636,
                                    "loc": {
                                      "start": {
                                        "line": 606,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 606,
                                        "column": 46
                                      }
                                    },
                                    "name": "distanceTo"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 23637,
                                    "end": 23662,
                                    "loc": {
                                      "start": {
                                        "line": 606,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 606,
                                        "column": 72
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 23637,
                                      "end": 23653,
                                      "loc": {
                                        "start": {
                                          "line": 606,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 606,
                                          "column": 63
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 23637,
                                        "end": 23641,
                                        "loc": {
                                          "start": {
                                            "line": 606,
                                            "column": 47
                                          },
                                          "end": {
                                            "line": 606,
                                            "column": 51
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 23642,
                                        "end": 23653,
                                        "loc": {
                                          "start": {
                                            "line": 606,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 606,
                                            "column": 63
                                          }
                                        },
                                        "name": "centerPoint"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 23654,
                                      "end": 23662,
                                      "loc": {
                                        "start": {
                                          "line": 606,
                                          "column": 64
                                        },
                                        "end": {
                                          "line": 606,
                                          "column": 72
                                        }
                                      },
                                      "name": "position"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 23674,
                            "end": 23687,
                            "loc": {
                              "start": {
                                "line": 607,
                                "column": 10
                              },
                              "end": {
                                "line": 607,
                                "column": 23
                              }
                            },
                            "name": "parseToObject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 23688,
                            "end": 23692,
                            "loc": {
                              "start": {
                                "line": 607,
                                "column": 24
                              },
                              "end": {
                                "line": 607,
                                "column": 28
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 23706,
              "end": 23791,
              "loc": {
                "start": {
                  "line": 610,
                  "column": 4
                },
                "end": {
                  "line": 612,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 23706,
                "end": 23727,
                "loc": {
                  "start": {
                    "line": 610,
                    "column": 4
                  },
                  "end": {
                    "line": 610,
                    "column": 25
                  }
                },
                "name": "prepareRemoveOnServer"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 23727,
                "end": 23791,
                "loc": {
                  "start": {
                    "line": 610,
                    "column": 25
                  },
                  "end": {
                    "line": 612,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 23728,
                    "end": 23734,
                    "loc": {
                      "start": {
                        "line": 610,
                        "column": 26
                      },
                      "end": {
                        "line": 610,
                        "column": 32
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 23736,
                  "end": 23791,
                  "loc": {
                    "start": {
                      "line": 610,
                      "column": 34
                    },
                    "end": {
                      "line": 612,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 23746,
                      "end": 23785,
                      "loc": {
                        "start": {
                          "line": 611,
                          "column": 8
                        },
                        "end": {
                          "line": 611,
                          "column": 47
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 23753,
                        "end": 23784,
                        "loc": {
                          "start": {
                            "line": 611,
                            "column": 15
                          },
                          "end": {
                            "line": 611,
                            "column": 46
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 23753,
                          "end": 23770,
                          "loc": {
                            "start": {
                              "line": 611,
                              "column": 15
                            },
                            "end": {
                              "line": 611,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 23753,
                            "end": 23760,
                            "loc": {
                              "start": {
                                "line": 611,
                                "column": 15
                              },
                              "end": {
                                "line": 611,
                                "column": 22
                              }
                            },
                            "name": "Interop"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 23761,
                            "end": 23770,
                            "loc": {
                              "start": {
                                "line": 611,
                                "column": 23
                              },
                              "end": {
                                "line": 611,
                                "column": 32
                              }
                            },
                            "name": "RemoveArc"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 23771,
                            "end": 23777,
                            "loc": {
                              "start": {
                                "line": 611,
                                "column": 33
                              },
                              "end": {
                                "line": 611,
                                "column": 39
                              }
                            },
                            "name": "sketch"
                          },
                          {
                            "type": "ThisExpression",
                            "start": 23779,
                            "end": 23783,
                            "loc": {
                              "start": {
                                "line": 611,
                                "column": 41
                              },
                              "end": {
                                "line": 611,
                                "column": 45
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 23797,
              "end": 24013,
              "loc": {
                "start": {
                  "line": 614,
                  "column": 4
                },
                "end": {
                  "line": 619,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 23797,
                "end": 23806,
                "loc": {
                  "start": {
                    "line": 614,
                    "column": 4
                  },
                  "end": {
                    "line": 614,
                    "column": 13
                  }
                },
                "name": "addMember"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 23806,
                "end": 24013,
                "loc": {
                  "start": {
                    "line": 614,
                    "column": 13
                  },
                  "end": {
                    "line": 619,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 23807,
                    "end": 23813,
                    "loc": {
                      "start": {
                        "line": 614,
                        "column": 14
                      },
                      "end": {
                        "line": 614,
                        "column": 20
                      }
                    },
                    "name": "member"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 23815,
                  "end": 24013,
                  "loc": {
                    "start": {
                      "line": 614,
                      "column": 22
                    },
                    "end": {
                      "line": 619,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 23825,
                      "end": 23884,
                      "loc": {
                        "start": {
                          "line": 615,
                          "column": 8
                        },
                        "end": {
                          "line": 615,
                          "column": 67
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 23825,
                        "end": 23883,
                        "loc": {
                          "start": {
                            "line": 615,
                            "column": 8
                          },
                          "end": {
                            "line": 615,
                            "column": 66
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 23825,
                          "end": 23866,
                          "loc": {
                            "start": {
                              "line": 615,
                              "column": 8
                            },
                            "end": {
                              "line": 615,
                              "column": 49
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 23825,
                            "end": 23860,
                            "loc": {
                              "start": {
                                "line": 615,
                                "column": 8
                              },
                              "end": {
                                "line": 615,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 23825,
                              "end": 23850,
                              "loc": {
                                "start": {
                                  "line": 615,
                                  "column": 8
                                },
                                "end": {
                                  "line": 615,
                                  "column": 33
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 23825,
                                "end": 23840,
                                "loc": {
                                  "start": {
                                    "line": 615,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 615,
                                    "column": 23
                                  }
                                },
                                "name": "GeometricObject"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 23841,
                                "end": 23850,
                                "loc": {
                                  "start": {
                                    "line": 615,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 615,
                                    "column": 33
                                  }
                                },
                                "name": "prototype"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 23851,
                              "end": 23860,
                              "loc": {
                                "start": {
                                  "line": 615,
                                  "column": 34
                                },
                                "end": {
                                  "line": 615,
                                  "column": 43
                                }
                              },
                              "name": "addMember"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 23861,
                            "end": 23866,
                            "loc": {
                              "start": {
                                "line": 615,
                                "column": 44
                              },
                              "end": {
                                "line": 615,
                                "column": 49
                              }
                            },
                            "name": "apply"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 23867,
                            "end": 23871,
                            "loc": {
                              "start": {
                                "line": 615,
                                "column": 50
                              },
                              "end": {
                                "line": 615,
                                "column": 54
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "start": 23873,
                            "end": 23882,
                            "loc": {
                              "start": {
                                "line": 615,
                                "column": 56
                              },
                              "end": {
                                "line": 615,
                                "column": 65
                              }
                            },
                            "name": "arguments"
                          }
                        ]
                      }
                    },
                    {
                      "type": "SwitchStatement",
                      "start": 23893,
                      "end": 24007,
                      "loc": {
                        "start": {
                          "line": 616,
                          "column": 8
                        },
                        "end": {
                          "line": 618,
                          "column": 9
                        }
                      },
                      "discriminant": {
                        "type": "MemberExpression",
                        "start": 23901,
                        "end": 23932,
                        "loc": {
                          "start": {
                            "line": 616,
                            "column": 16
                          },
                          "end": {
                            "line": 616,
                            "column": 47
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 23901,
                          "end": 23927,
                          "loc": {
                            "start": {
                              "line": 616,
                              "column": 16
                            },
                            "end": {
                              "line": 616,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 23901,
                            "end": 23916,
                            "loc": {
                              "start": {
                                "line": 616,
                                "column": 16
                              },
                              "end": {
                                "line": 616,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 23901,
                              "end": 23907,
                              "loc": {
                                "start": {
                                  "line": 616,
                                  "column": 16
                                },
                                "end": {
                                  "line": 616,
                                  "column": 22
                                }
                              },
                              "name": "member"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 23908,
                              "end": 23916,
                              "loc": {
                                "start": {
                                  "line": 616,
                                  "column": 23
                                },
                                "end": {
                                  "line": 616,
                                  "column": 31
                                }
                              },
                              "name": "userData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 23917,
                            "end": 23927,
                            "loc": {
                              "start": {
                                "line": 616,
                                "column": 32
                              },
                              "end": {
                                "line": 616,
                                "column": 42
                              }
                            },
                            "name": "memberInfo"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 23928,
                          "end": 23932,
                          "loc": {
                            "start": {
                              "line": 616,
                              "column": 43
                            },
                            "end": {
                              "line": 616,
                              "column": 47
                            }
                          },
                          "name": "name"
                        },
                        "computed": false
                      },
                      "cases": [
                        {
                          "type": "SwitchCase",
                          "start": 23948,
                          "end": 23997,
                          "loc": {
                            "start": {
                              "line": 617,
                              "column": 12
                            },
                            "end": {
                              "line": 617,
                              "column": 61
                            }
                          },
                          "consequent": [
                            {
                              "type": "ExpressionStatement",
                              "start": 23962,
                              "end": 23990,
                              "loc": {
                                "start": {
                                  "line": 617,
                                  "column": 26
                                },
                                "end": {
                                  "line": 617,
                                  "column": 54
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 23962,
                                "end": 23989,
                                "loc": {
                                  "start": {
                                    "line": 617,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 617,
                                    "column": 53
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 23962,
                                  "end": 23976,
                                  "loc": {
                                    "start": {
                                      "line": 617,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 617,
                                      "column": 40
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 23962,
                                    "end": 23966,
                                    "loc": {
                                      "start": {
                                        "line": 617,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 617,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 23967,
                                    "end": 23976,
                                    "loc": {
                                      "start": {
                                        "line": 617,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 617,
                                        "column": 40
                                      }
                                    },
                                    "name": "clockwise"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 23979,
                                  "end": 23989,
                                  "loc": {
                                    "start": {
                                      "line": 617,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 617,
                                      "column": 53
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 23979,
                                    "end": 23985,
                                    "loc": {
                                      "start": {
                                        "line": 617,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 617,
                                        "column": 49
                                      }
                                    },
                                    "name": "member"
                                  },
                                  "operator": "<",
                                  "right": {
                                    "type": "Literal",
                                    "start": 23988,
                                    "end": 23989,
                                    "loc": {
                                      "start": {
                                        "line": 617,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 617,
                                        "column": 53
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                }
                              }
                            },
                            {
                              "type": "BreakStatement",
                              "start": 23991,
                              "end": 23997,
                              "loc": {
                                "start": {
                                  "line": 617,
                                  "column": 55
                                },
                                "end": {
                                  "line": 617,
                                  "column": 61
                                }
                              },
                              "label": null
                            }
                          ],
                          "test": {
                            "type": "Literal",
                            "start": 23953,
                            "end": 23960,
                            "loc": {
                              "start": {
                                "line": 617,
                                "column": 17
                              },
                              "end": {
                                "line": 617,
                                "column": 24
                              }
                            },
                            "value": "bulge",
                            "rawValue": "bulge",
                            "raw": "'bulge'"
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": "================================ Sketch.Arc =========================================",
            "start": 13129,
            "end": 13216,
            "loc": {
              "start": {
                "line": 357,
                "column": 0
              },
              "end": {
                "line": 357,
                "column": 87
              }
            },
            "range": [
              13129,
              13216
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": "================================ Sketch.Arc =========================================",
          "start": 13129,
          "end": 13216,
          "loc": {
            "start": {
              "line": 357,
              "column": 0
            },
            "end": {
              "line": 357,
              "column": 87
            }
          },
          "range": [
            13129,
            13216
          ]
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "start": 24016,
      "end": 24060,
      "loc": {
        "start": {
          "line": 621,
          "column": 0
        },
        "end": {
          "line": 621,
          "column": 44
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 24016,
        "end": 24059,
        "loc": {
          "start": {
            "line": 621,
            "column": 0
          },
          "end": {
            "line": 621,
            "column": 43
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 24016,
          "end": 24053,
          "loc": {
            "start": {
              "line": 621,
              "column": 0
            },
            "end": {
              "line": 621,
              "column": 37
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 24016,
            "end": 24043,
            "loc": {
              "start": {
                "line": 621,
                "column": 0
              },
              "end": {
                "line": 621,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 24016,
              "end": 24030,
              "loc": {
                "start": {
                  "line": 621,
                  "column": 0
                },
                "end": {
                  "line": 621,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 24031,
              "end": 24043,
              "loc": {
                "start": {
                  "line": 621,
                  "column": 15
                },
                "end": {
                  "line": 621,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 24044,
            "end": 24052,
            "loc": {
              "start": {
                "line": 621,
                "column": 28
              },
              "end": {
                "line": 621,
                "column": 36
              }
            },
            "value": "CC_Arc",
            "rawValue": "CC_Arc",
            "raw": "'CC_Arc'"
          },
          "computed": true
        },
        "right": {
          "type": "Identifier",
          "start": 24056,
          "end": 24059,
          "loc": {
            "start": {
              "line": 621,
              "column": 40
            },
            "end": {
              "line": 621,
              "column": 43
            }
          },
          "name": "Arc"
        }
      }
    },
    {
      "type": "ExpressionStatement",
      "start": 24061,
      "end": 24096,
      "loc": {
        "start": {
          "line": 622,
          "column": 0
        },
        "end": {
          "line": 622,
          "column": 35
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 24061,
        "end": 24095,
        "loc": {
          "start": {
            "line": 622,
            "column": 0
          },
          "end": {
            "line": 622,
            "column": 34
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 24061,
          "end": 24089,
          "loc": {
            "start": {
              "line": 622,
              "column": 0
            },
            "end": {
              "line": 622,
              "column": 28
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 24061,
            "end": 24074,
            "loc": {
              "start": {
                "line": 622,
                "column": 0
              },
              "end": {
                "line": 622,
                "column": 13
              }
            },
            "object": {
              "type": "Identifier",
              "start": 24061,
              "end": 24064,
              "loc": {
                "start": {
                  "line": 622,
                  "column": 0
                },
                "end": {
                  "line": 622,
                  "column": 3
                }
              },
              "name": "Arc"
            },
            "property": {
              "type": "Identifier",
              "start": 24065,
              "end": 24074,
              "loc": {
                "start": {
                  "line": 622,
                  "column": 4
                },
                "end": {
                  "line": 622,
                  "column": 13
                }
              },
              "name": "prototype"
            },
            "computed": false
          },
          "property": {
            "type": "Identifier",
            "start": 24075,
            "end": 24089,
            "loc": {
              "start": {
                "line": 622,
                "column": 14
              },
              "end": {
                "line": 622,
                "column": 28
              }
            },
            "name": "meshResolution"
          },
          "computed": false
        },
        "right": {
          "type": "Literal",
          "start": 24092,
          "end": 24095,
          "loc": {
            "start": {
              "line": 622,
              "column": 31
            },
            "end": {
              "line": 622,
              "column": 34
            }
          },
          "value": 100,
          "rawValue": 100,
          "raw": "100"
        }
      },
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": "number of cells in visible triangulation",
          "start": 24098,
          "end": 24140,
          "loc": {
            "start": {
              "line": 622,
              "column": 37
            },
            "end": {
              "line": 622,
              "column": 79
            }
          },
          "range": [
            24098,
            24140
          ]
        },
        {
          "type": "CommentLine",
          "value": "==============================     WorkPlane    ==============================",
          "start": 24142,
          "end": 24222,
          "loc": {
            "start": {
              "line": 624,
              "column": 0
            },
            "end": {
              "line": 624,
              "column": 80
            }
          },
          "range": [
            24142,
            24222
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 24223,
      "end": 25198,
      "loc": {
        "start": {
          "line": 625,
          "column": 0
        },
        "end": {
          "line": 651,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 24230,
        "end": 25198,
        "loc": {
          "start": {
            "line": 625,
            "column": 7
          },
          "end": {
            "line": 651,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 24236,
          "end": 24245,
          "loc": {
            "start": {
              "line": 625,
              "column": 13
            },
            "end": {
              "line": 625,
              "column": 22
            }
          },
          "name": "WorkPlane",
          "leadingComments": null
        },
        "superClass": {
          "type": "Identifier",
          "start": 24254,
          "end": 24268,
          "loc": {
            "start": {
              "line": 625,
              "column": 31
            },
            "end": {
              "line": 625,
              "column": 45
            }
          },
          "name": "ClassCadObject"
        },
        "body": {
          "type": "ClassBody",
          "start": 24269,
          "end": 25198,
          "loc": {
            "start": {
              "line": 625,
              "column": 46
            },
            "end": {
              "line": 651,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 24275,
              "end": 24705,
              "loc": {
                "start": {
                  "line": 626,
                  "column": 4
                },
                "end": {
                  "line": 636,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 24275,
                "end": 24286,
                "loc": {
                  "start": {
                    "line": 626,
                    "column": 4
                  },
                  "end": {
                    "line": 626,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 24286,
                "end": 24705,
                "loc": {
                  "start": {
                    "line": 626,
                    "column": 15
                  },
                  "end": {
                    "line": 636,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 24289,
                  "end": 24705,
                  "loc": {
                    "start": {
                      "line": 626,
                      "column": 18
                    },
                    "end": {
                      "line": 636,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 24299,
                      "end": 24307,
                      "loc": {
                        "start": {
                          "line": 627,
                          "column": 8
                        },
                        "end": {
                          "line": 627,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 24299,
                        "end": 24306,
                        "loc": {
                          "start": {
                            "line": 627,
                            "column": 8
                          },
                          "end": {
                            "line": 627,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 24299,
                          "end": 24304,
                          "loc": {
                            "start": {
                              "line": 627,
                              "column": 8
                            },
                            "end": {
                              "line": 627,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 24316,
                      "end": 24635,
                      "loc": {
                        "start": {
                          "line": 628,
                          "column": 8
                        },
                        "end": {
                          "line": 633,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 24316,
                        "end": 24634,
                        "loc": {
                          "start": {
                            "line": 628,
                            "column": 8
                          },
                          "end": {
                            "line": 633,
                            "column": 10
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 24316,
                          "end": 24325,
                          "loc": {
                            "start": {
                              "line": 628,
                              "column": 8
                            },
                            "end": {
                              "line": 628,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 24316,
                            "end": 24320,
                            "loc": {
                              "start": {
                                "line": 628,
                                "column": 8
                              },
                              "end": {
                                "line": 628,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 24321,
                            "end": 24325,
                            "loc": {
                              "start": {
                                "line": 628,
                                "column": 13
                              },
                              "end": {
                                "line": 628,
                                "column": 17
                              }
                            },
                            "name": "mesh"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 24328,
                          "end": 24634,
                          "loc": {
                            "start": {
                              "line": 628,
                              "column": 20
                            },
                            "end": {
                              "line": 633,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 24332,
                            "end": 24344,
                            "loc": {
                              "start": {
                                "line": 628,
                                "column": 24
                              },
                              "end": {
                                "line": 628,
                                "column": 36
                              }
                            },
                            "name": "InteractMesh"
                          },
                          "arguments": [
                            {
                              "type": "NewExpression",
                              "start": 24345,
                              "end": 24375,
                              "loc": {
                                "start": {
                                  "line": 628,
                                  "column": 37
                                },
                                "end": {
                                  "line": 628,
                                  "column": 67
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 24349,
                                "end": 24366,
                                "loc": {
                                  "start": {
                                    "line": 628,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 628,
                                    "column": 58
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 24349,
                                  "end": 24354,
                                  "loc": {
                                    "start": {
                                      "line": 628,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 628,
                                      "column": 46
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 24355,
                                  "end": 24366,
                                  "loc": {
                                    "start": {
                                      "line": 628,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 628,
                                      "column": 58
                                    }
                                  },
                                  "name": "BoxGeometry"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 24367,
                                  "end": 24368,
                                  "loc": {
                                    "start": {
                                      "line": 628,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 628,
                                      "column": 60
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                {
                                  "type": "Literal",
                                  "start": 24370,
                                  "end": 24371,
                                  "loc": {
                                    "start": {
                                      "line": 628,
                                      "column": 62
                                    },
                                    "end": {
                                      "line": 628,
                                      "column": 63
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                {
                                  "type": "Literal",
                                  "start": 24373,
                                  "end": 24374,
                                  "loc": {
                                    "start": {
                                      "line": 628,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 628,
                                      "column": 66
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            },
                            {
                              "type": "NewExpression",
                              "start": 24377,
                              "end": 24633,
                              "loc": {
                                "start": {
                                  "line": 628,
                                  "column": 69
                                },
                                "end": {
                                  "line": 633,
                                  "column": 9
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 24381,
                                "end": 24404,
                                "loc": {
                                  "start": {
                                    "line": 628,
                                    "column": 73
                                  },
                                  "end": {
                                    "line": 628,
                                    "column": 96
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 24381,
                                  "end": 24386,
                                  "loc": {
                                    "start": {
                                      "line": 628,
                                      "column": 73
                                    },
                                    "end": {
                                      "line": 628,
                                      "column": 78
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 24387,
                                  "end": 24404,
                                  "loc": {
                                    "start": {
                                      "line": 628,
                                      "column": 79
                                    },
                                    "end": {
                                      "line": 628,
                                      "column": 96
                                    }
                                  },
                                  "name": "MeshBasicMaterial"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ObjectExpression",
                                  "start": 24418,
                                  "end": 24623,
                                  "loc": {
                                    "start": {
                                      "line": 629,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 632,
                                      "column": 13
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "Property",
                                      "start": 24419,
                                      "end": 24447,
                                      "loc": {
                                        "start": {
                                          "line": 629,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 629,
                                          "column": 41
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 24419,
                                        "end": 24424,
                                        "loc": {
                                          "start": {
                                            "line": 629,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 629,
                                            "column": 18
                                          }
                                        },
                                        "name": "color"
                                      },
                                      "value": {
                                        "type": "CallExpression",
                                        "start": 24426,
                                        "end": 24447,
                                        "loc": {
                                          "start": {
                                            "line": 629,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 629,
                                            "column": 41
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 24426,
                                          "end": 24434,
                                          "loc": {
                                            "start": {
                                              "line": 629,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 629,
                                              "column": 28
                                            }
                                          },
                                          "name": "getColor"
                                        },
                                        "arguments": [
                                          {
                                            "type": "ThisExpression",
                                            "start": 24435,
                                            "end": 24439,
                                            "loc": {
                                              "start": {
                                                "line": 629,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 629,
                                                "column": 33
                                              }
                                            }
                                          },
                                          {
                                            "type": "Literal",
                                            "start": 24441,
                                            "end": 24446,
                                            "loc": {
                                              "start": {
                                                "line": 629,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 629,
                                                "column": 40
                                              }
                                            },
                                            "value": false,
                                            "rawValue": false,
                                            "raw": "false"
                                          }
                                        ]
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 24449,
                                      "end": 24471,
                                      "loc": {
                                        "start": {
                                          "line": 629,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 629,
                                          "column": 65
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 24449,
                                        "end": 24453,
                                        "loc": {
                                          "start": {
                                            "line": 629,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 629,
                                            "column": 47
                                          }
                                        },
                                        "name": "side"
                                      },
                                      "value": {
                                        "type": "MemberExpression",
                                        "start": 24455,
                                        "end": 24471,
                                        "loc": {
                                          "start": {
                                            "line": 629,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 629,
                                            "column": 65
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 24455,
                                          "end": 24460,
                                          "loc": {
                                            "start": {
                                              "line": 629,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 629,
                                              "column": 54
                                            }
                                          },
                                          "name": "THREE"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 24461,
                                          "end": 24471,
                                          "loc": {
                                            "start": {
                                              "line": 629,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 629,
                                              "column": 65
                                            }
                                          },
                                          "name": "DoubleSide"
                                        },
                                        "computed": false
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 24489,
                                      "end": 24508,
                                      "loc": {
                                        "start": {
                                          "line": 630,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 630,
                                          "column": 35
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 24489,
                                        "end": 24502,
                                        "loc": {
                                          "start": {
                                            "line": 630,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 630,
                                            "column": 29
                                          }
                                        },
                                        "name": "polygonOffset"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 24504,
                                        "end": 24508,
                                        "loc": {
                                          "start": {
                                            "line": 630,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 630,
                                            "column": 35
                                          }
                                        },
                                        "value": true,
                                        "rawValue": true,
                                        "raw": "true"
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 24510,
                                      "end": 24533,
                                      "loc": {
                                        "start": {
                                          "line": 630,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 630,
                                          "column": 60
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 24510,
                                        "end": 24529,
                                        "loc": {
                                          "start": {
                                            "line": 630,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 630,
                                            "column": 56
                                          }
                                        },
                                        "name": "polygonOffsetFactor"
                                      },
                                      "value": {
                                        "type": "UnaryExpression",
                                        "start": 24531,
                                        "end": 24533,
                                        "loc": {
                                          "start": {
                                            "line": 630,
                                            "column": 58
                                          },
                                          "end": {
                                            "line": 630,
                                            "column": 60
                                          }
                                        },
                                        "operator": "-",
                                        "prefix": true,
                                        "argument": {
                                          "type": "Literal",
                                          "start": 24532,
                                          "end": 24533,
                                          "loc": {
                                            "start": {
                                              "line": 630,
                                              "column": 59
                                            },
                                            "end": {
                                              "line": 630,
                                              "column": 60
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        }
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 24535,
                                      "end": 24558,
                                      "loc": {
                                        "start": {
                                          "line": 630,
                                          "column": 62
                                        },
                                        "end": {
                                          "line": 630,
                                          "column": 85
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 24535,
                                        "end": 24553,
                                        "loc": {
                                          "start": {
                                            "line": 630,
                                            "column": 62
                                          },
                                          "end": {
                                            "line": 630,
                                            "column": 80
                                          }
                                        },
                                        "name": "polygonOffsetUnits"
                                      },
                                      "value": {
                                        "type": "UnaryExpression",
                                        "start": 24556,
                                        "end": 24558,
                                        "loc": {
                                          "start": {
                                            "line": 630,
                                            "column": 83
                                          },
                                          "end": {
                                            "line": 630,
                                            "column": 85
                                          }
                                        },
                                        "operator": "-",
                                        "prefix": true,
                                        "argument": {
                                          "type": "Literal",
                                          "start": 24557,
                                          "end": 24558,
                                          "loc": {
                                            "start": {
                                              "line": 630,
                                              "column": 84
                                            },
                                            "end": {
                                              "line": 630,
                                              "column": 85
                                            }
                                          },
                                          "value": 5,
                                          "rawValue": 5,
                                          "raw": "5"
                                        }
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 24576,
                                      "end": 24593,
                                      "loc": {
                                        "start": {
                                          "line": 631,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 631,
                                          "column": 33
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 24576,
                                        "end": 24587,
                                        "loc": {
                                          "start": {
                                            "line": 631,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 631,
                                            "column": 27
                                          }
                                        },
                                        "name": "transparent"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 24589,
                                        "end": 24593,
                                        "loc": {
                                          "start": {
                                            "line": 631,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 631,
                                            "column": 33
                                          }
                                        },
                                        "value": true,
                                        "rawValue": true,
                                        "raw": "true"
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 24595,
                                      "end": 24608,
                                      "loc": {
                                        "start": {
                                          "line": 631,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 631,
                                          "column": 48
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 24595,
                                        "end": 24602,
                                        "loc": {
                                          "start": {
                                            "line": 631,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 631,
                                            "column": 42
                                          }
                                        },
                                        "name": "opacity"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 24604,
                                        "end": 24608,
                                        "loc": {
                                          "start": {
                                            "line": 631,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 631,
                                            "column": 48
                                          }
                                        },
                                        "value": 0.25,
                                        "rawValue": 0.25,
                                        "raw": "0.25"
                                      },
                                      "kind": "init"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 24644,
                      "end": 24670,
                      "loc": {
                        "start": {
                          "line": 634,
                          "column": 8
                        },
                        "end": {
                          "line": 634,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 24644,
                        "end": 24669,
                        "loc": {
                          "start": {
                            "line": 634,
                            "column": 8
                          },
                          "end": {
                            "line": 634,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 24644,
                          "end": 24657,
                          "loc": {
                            "start": {
                              "line": 634,
                              "column": 8
                            },
                            "end": {
                              "line": 634,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 24644,
                            "end": 24648,
                            "loc": {
                              "start": {
                                "line": 634,
                                "column": 8
                              },
                              "end": {
                                "line": 634,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 24649,
                            "end": 24657,
                            "loc": {
                              "start": {
                                "line": 634,
                                "column": 13
                              },
                              "end": {
                                "line": 634,
                                "column": 21
                              }
                            },
                            "name": "interact"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 24660,
                          "end": 24669,
                          "loc": {
                            "start": {
                              "line": 634,
                              "column": 24
                            },
                            "end": {
                              "line": 634,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 24660,
                            "end": 24664,
                            "loc": {
                              "start": {
                                "line": 634,
                                "column": 24
                              },
                              "end": {
                                "line": 634,
                                "column": 28
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 24665,
                            "end": 24669,
                            "loc": {
                              "start": {
                                "line": 634,
                                "column": 29
                              },
                              "end": {
                                "line": 634,
                                "column": 33
                              }
                            },
                            "name": "mesh"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 24679,
                      "end": 24699,
                      "loc": {
                        "start": {
                          "line": 635,
                          "column": 8
                        },
                        "end": {
                          "line": 635,
                          "column": 28
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 24679,
                        "end": 24698,
                        "loc": {
                          "start": {
                            "line": 635,
                            "column": 8
                          },
                          "end": {
                            "line": 635,
                            "column": 27
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 24679,
                          "end": 24687,
                          "loc": {
                            "start": {
                              "line": 635,
                              "column": 8
                            },
                            "end": {
                              "line": 635,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 24679,
                            "end": 24683,
                            "loc": {
                              "start": {
                                "line": 635,
                                "column": 8
                              },
                              "end": {
                                "line": 635,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 24684,
                            "end": 24687,
                            "loc": {
                              "start": {
                                "line": 635,
                                "column": 13
                              },
                              "end": {
                                "line": 635,
                                "column": 16
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 24688,
                            "end": 24697,
                            "loc": {
                              "start": {
                                "line": 635,
                                "column": 17
                              },
                              "end": {
                                "line": 635,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 24688,
                              "end": 24692,
                              "loc": {
                                "start": {
                                  "line": 635,
                                  "column": 17
                                },
                                "end": {
                                  "line": 635,
                                  "column": 21
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 24693,
                              "end": 24697,
                              "loc": {
                                "start": {
                                  "line": 635,
                                  "column": 22
                                },
                                "end": {
                                  "line": 635,
                                  "column": 26
                                }
                              },
                              "name": "mesh"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 24711,
              "end": 25116,
              "loc": {
                "start": {
                  "line": 638,
                  "column": 4
                },
                "end": {
                  "line": 646,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 24711,
                "end": 24720,
                "loc": {
                  "start": {
                    "line": 638,
                    "column": 4
                  },
                  "end": {
                    "line": 638,
                    "column": 13
                  }
                },
                "name": "addMember"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 24720,
                "end": 25116,
                "loc": {
                  "start": {
                    "line": 638,
                    "column": 13
                  },
                  "end": {
                    "line": 646,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 24721,
                    "end": 24727,
                    "loc": {
                      "start": {
                        "line": 638,
                        "column": 14
                      },
                      "end": {
                        "line": 638,
                        "column": 20
                      }
                    },
                    "name": "member"
                  },
                  {
                    "type": "Identifier",
                    "start": 24729,
                    "end": 24733,
                    "loc": {
                      "start": {
                        "line": 638,
                        "column": 22
                      },
                      "end": {
                        "line": 638,
                        "column": 26
                      }
                    },
                    "name": "mark"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 24735,
                  "end": 25116,
                  "loc": {
                    "start": {
                      "line": 638,
                      "column": 28
                    },
                    "end": {
                      "line": 646,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 24745,
                      "end": 24775,
                      "loc": {
                        "start": {
                          "line": 639,
                          "column": 8
                        },
                        "end": {
                          "line": 639,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 24745,
                        "end": 24774,
                        "loc": {
                          "start": {
                            "line": 639,
                            "column": 8
                          },
                          "end": {
                            "line": 639,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 24745,
                          "end": 24760,
                          "loc": {
                            "start": {
                              "line": 639,
                              "column": 8
                            },
                            "end": {
                              "line": 639,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "Super",
                            "start": 24745,
                            "end": 24750,
                            "loc": {
                              "start": {
                                "line": 639,
                                "column": 8
                              },
                              "end": {
                                "line": 639,
                                "column": 13
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 24751,
                            "end": 24760,
                            "loc": {
                              "start": {
                                "line": 639,
                                "column": 14
                              },
                              "end": {
                                "line": 639,
                                "column": 23
                              }
                            },
                            "name": "addMember"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 24761,
                            "end": 24767,
                            "loc": {
                              "start": {
                                "line": 639,
                                "column": 24
                              },
                              "end": {
                                "line": 639,
                                "column": 30
                              }
                            },
                            "name": "member"
                          },
                          {
                            "type": "Identifier",
                            "start": 24769,
                            "end": 24773,
                            "loc": {
                              "start": {
                                "line": 639,
                                "column": 32
                              },
                              "end": {
                                "line": 639,
                                "column": 36
                              }
                            },
                            "name": "mark"
                          }
                        ]
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 24784,
                      "end": 24820,
                      "loc": {
                        "start": {
                          "line": 640,
                          "column": 8
                        },
                        "end": {
                          "line": 640,
                          "column": 44
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 24788,
                          "end": 24819,
                          "loc": {
                            "start": {
                              "line": 640,
                              "column": 12
                            },
                            "end": {
                              "line": 640,
                              "column": 43
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 24788,
                            "end": 24790,
                            "loc": {
                              "start": {
                                "line": 640,
                                "column": 12
                              },
                              "end": {
                                "line": 640,
                                "column": 14
                              }
                            },
                            "name": "mi"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 24793,
                            "end": 24819,
                            "loc": {
                              "start": {
                                "line": 640,
                                "column": 17
                              },
                              "end": {
                                "line": 640,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 24793,
                              "end": 24808,
                              "loc": {
                                "start": {
                                  "line": 640,
                                  "column": 17
                                },
                                "end": {
                                  "line": 640,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 24793,
                                "end": 24799,
                                "loc": {
                                  "start": {
                                    "line": 640,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 640,
                                    "column": 23
                                  }
                                },
                                "name": "member"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 24800,
                                "end": 24808,
                                "loc": {
                                  "start": {
                                    "line": 640,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 640,
                                    "column": 32
                                  }
                                },
                                "name": "userData"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 24809,
                              "end": 24819,
                              "loc": {
                                "start": {
                                  "line": 640,
                                  "column": 33
                                },
                                "end": {
                                  "line": 640,
                                  "column": 43
                                }
                              },
                              "name": "memberInfo"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "SwitchStatement",
                      "start": 24829,
                      "end": 25110,
                      "loc": {
                        "start": {
                          "line": 641,
                          "column": 8
                        },
                        "end": {
                          "line": 645,
                          "column": 9
                        }
                      },
                      "discriminant": {
                        "type": "MemberExpression",
                        "start": 24837,
                        "end": 24844,
                        "loc": {
                          "start": {
                            "line": 641,
                            "column": 16
                          },
                          "end": {
                            "line": 641,
                            "column": 23
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 24837,
                          "end": 24839,
                          "loc": {
                            "start": {
                              "line": 641,
                              "column": 16
                            },
                            "end": {
                              "line": 641,
                              "column": 18
                            }
                          },
                          "name": "mi"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 24840,
                          "end": 24844,
                          "loc": {
                            "start": {
                              "line": 641,
                              "column": 19
                            },
                            "end": {
                              "line": 641,
                              "column": 23
                            }
                          },
                          "name": "name"
                        },
                        "computed": false
                      },
                      "cases": [
                        {
                          "type": "SwitchCase",
                          "start": 24860,
                          "end": 24911,
                          "loc": {
                            "start": {
                              "line": 642,
                              "column": 12
                            },
                            "end": {
                              "line": 642,
                              "column": 63
                            }
                          },
                          "consequent": [
                            {
                              "type": "ExpressionStatement",
                              "start": 24877,
                              "end": 24904,
                              "loc": {
                                "start": {
                                  "line": 642,
                                  "column": 29
                                },
                                "end": {
                                  "line": 642,
                                  "column": 56
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 24877,
                                "end": 24903,
                                "loc": {
                                  "start": {
                                    "line": 642,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 642,
                                    "column": 55
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 24877,
                                  "end": 24895,
                                  "loc": {
                                    "start": {
                                      "line": 642,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 642,
                                      "column": 47
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 24877,
                                    "end": 24890,
                                    "loc": {
                                      "start": {
                                        "line": 642,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 642,
                                        "column": 42
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 24877,
                                      "end": 24881,
                                      "loc": {
                                        "start": {
                                          "line": 642,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 642,
                                          "column": 33
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 24882,
                                      "end": 24890,
                                      "loc": {
                                        "start": {
                                          "line": 642,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 642,
                                          "column": 42
                                        }
                                      },
                                      "name": "position"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 24891,
                                    "end": 24895,
                                    "loc": {
                                      "start": {
                                        "line": 642,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 642,
                                        "column": 47
                                      }
                                    },
                                    "name": "copy"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 24896,
                                    "end": 24902,
                                    "loc": {
                                      "start": {
                                        "line": 642,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 642,
                                        "column": 54
                                      }
                                    },
                                    "name": "member"
                                  }
                                ]
                              }
                            },
                            {
                              "type": "BreakStatement",
                              "start": 24905,
                              "end": 24911,
                              "loc": {
                                "start": {
                                  "line": 642,
                                  "column": 57
                                },
                                "end": {
                                  "line": 642,
                                  "column": 63
                                }
                              },
                              "label": null
                            }
                          ],
                          "test": {
                            "type": "Literal",
                            "start": 24865,
                            "end": 24875,
                            "loc": {
                              "start": {
                                "line": 642,
                                "column": 17
                              },
                              "end": {
                                "line": 642,
                                "column": 27
                              }
                            },
                            "value": "Position",
                            "rawValue": "Position",
                            "raw": "'Position'"
                          }
                        },
                        {
                          "type": "SwitchCase",
                          "start": 24924,
                          "end": 25017,
                          "loc": {
                            "start": {
                              "line": 643,
                              "column": 12
                            },
                            "end": {
                              "line": 643,
                              "column": 105
                            }
                          },
                          "consequent": [
                            {
                              "type": "ExpressionStatement",
                              "start": 24939,
                              "end": 25010,
                              "loc": {
                                "start": {
                                  "line": 643,
                                  "column": 27
                                },
                                "end": {
                                  "line": 643,
                                  "column": 98
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 24939,
                                "end": 25009,
                                "loc": {
                                  "start": {
                                    "line": 643,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 643,
                                    "column": 97
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 24939,
                                  "end": 24973,
                                  "loc": {
                                    "start": {
                                      "line": 643,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 643,
                                      "column": 61
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 24939,
                                    "end": 24954,
                                    "loc": {
                                      "start": {
                                        "line": 643,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 643,
                                        "column": 42
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 24939,
                                      "end": 24943,
                                      "loc": {
                                        "start": {
                                          "line": 643,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 643,
                                          "column": 31
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 24944,
                                      "end": 24954,
                                      "loc": {
                                        "start": {
                                          "line": 643,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 643,
                                          "column": 42
                                        }
                                      },
                                      "name": "quaternion"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 24955,
                                    "end": 24973,
                                    "loc": {
                                      "start": {
                                        "line": 643,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 643,
                                        "column": 61
                                      }
                                    },
                                    "name": "setFromUnitVectors"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "NewExpression",
                                    "start": 24974,
                                    "end": 25000,
                                    "loc": {
                                      "start": {
                                        "line": 643,
                                        "column": 62
                                      },
                                      "end": {
                                        "line": 643,
                                        "column": 88
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 24978,
                                      "end": 24991,
                                      "loc": {
                                        "start": {
                                          "line": 643,
                                          "column": 66
                                        },
                                        "end": {
                                          "line": 643,
                                          "column": 79
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 24978,
                                        "end": 24983,
                                        "loc": {
                                          "start": {
                                            "line": 643,
                                            "column": 66
                                          },
                                          "end": {
                                            "line": 643,
                                            "column": 71
                                          }
                                        },
                                        "name": "THREE"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 24984,
                                        "end": 24991,
                                        "loc": {
                                          "start": {
                                            "line": 643,
                                            "column": 72
                                          },
                                          "end": {
                                            "line": 643,
                                            "column": 79
                                          }
                                        },
                                        "name": "Vector3"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 24992,
                                        "end": 24993,
                                        "loc": {
                                          "start": {
                                            "line": 643,
                                            "column": 80
                                          },
                                          "end": {
                                            "line": 643,
                                            "column": 81
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 24995,
                                        "end": 24996,
                                        "loc": {
                                          "start": {
                                            "line": 643,
                                            "column": 83
                                          },
                                          "end": {
                                            "line": 643,
                                            "column": 84
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 24998,
                                        "end": 24999,
                                        "loc": {
                                          "start": {
                                            "line": 643,
                                            "column": 86
                                          },
                                          "end": {
                                            "line": 643,
                                            "column": 87
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 25002,
                                    "end": 25008,
                                    "loc": {
                                      "start": {
                                        "line": 643,
                                        "column": 90
                                      },
                                      "end": {
                                        "line": 643,
                                        "column": 96
                                      }
                                    },
                                    "name": "member"
                                  }
                                ]
                              }
                            },
                            {
                              "type": "BreakStatement",
                              "start": 25011,
                              "end": 25017,
                              "loc": {
                                "start": {
                                  "line": 643,
                                  "column": 99
                                },
                                "end": {
                                  "line": 643,
                                  "column": 105
                                }
                              },
                              "label": null
                            }
                          ],
                          "test": {
                            "type": "Literal",
                            "start": 24929,
                            "end": 24937,
                            "loc": {
                              "start": {
                                "line": 643,
                                "column": 17
                              },
                              "end": {
                                "line": 643,
                                "column": 25
                              }
                            },
                            "value": "Normal",
                            "rawValue": "Normal",
                            "raw": "'Normal'"
                          }
                        },
                        {
                          "type": "SwitchCase",
                          "start": 25030,
                          "end": 25100,
                          "loc": {
                            "start": {
                              "line": 644,
                              "column": 12
                            },
                            "end": {
                              "line": 644,
                              "column": 82
                            }
                          },
                          "consequent": [
                            {
                              "type": "VariableDeclaration",
                              "start": 25043,
                              "end": 25068,
                              "loc": {
                                "start": {
                                  "line": 644,
                                  "column": 25
                                },
                                "end": {
                                  "line": 644,
                                  "column": 50
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 25047,
                                  "end": 25067,
                                  "loc": {
                                    "start": {
                                      "line": 644,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 644,
                                      "column": 49
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 25047,
                                    "end": 25048,
                                    "loc": {
                                      "start": {
                                        "line": 644,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 644,
                                        "column": 30
                                      }
                                    },
                                    "name": "s"
                                  },
                                  "init": {
                                    "type": "CallExpression",
                                    "start": 25051,
                                    "end": 25067,
                                    "loc": {
                                      "start": {
                                        "line": 644,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 644,
                                        "column": 49
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 25051,
                                      "end": 25065,
                                      "loc": {
                                        "start": {
                                          "line": 644,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 644,
                                          "column": 47
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 25051,
                                        "end": 25057,
                                        "loc": {
                                          "start": {
                                            "line": 644,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 644,
                                            "column": 39
                                          }
                                        },
                                        "name": "member"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 25058,
                                        "end": 25065,
                                        "loc": {
                                          "start": {
                                            "line": 644,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 644,
                                            "column": 47
                                          }
                                        },
                                        "name": "valueOf"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                }
                              ],
                              "kind": "let"
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 25069,
                              "end": 25093,
                              "loc": {
                                "start": {
                                  "line": 644,
                                  "column": 51
                                },
                                "end": {
                                  "line": 644,
                                  "column": 75
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 25069,
                                "end": 25092,
                                "loc": {
                                  "start": {
                                    "line": 644,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 644,
                                    "column": 74
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 25069,
                                  "end": 25083,
                                  "loc": {
                                    "start": {
                                      "line": 644,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 644,
                                      "column": 65
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 25069,
                                    "end": 25079,
                                    "loc": {
                                      "start": {
                                        "line": 644,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 644,
                                        "column": 61
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 25069,
                                      "end": 25073,
                                      "loc": {
                                        "start": {
                                          "line": 644,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 644,
                                          "column": 55
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 25074,
                                      "end": 25079,
                                      "loc": {
                                        "start": {
                                          "line": 644,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 644,
                                          "column": 61
                                        }
                                      },
                                      "name": "scale"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 25080,
                                    "end": 25083,
                                    "loc": {
                                      "start": {
                                        "line": 644,
                                        "column": 62
                                      },
                                      "end": {
                                        "line": 644,
                                        "column": 65
                                      }
                                    },
                                    "name": "set"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 25084,
                                    "end": 25085,
                                    "loc": {
                                      "start": {
                                        "line": 644,
                                        "column": 66
                                      },
                                      "end": {
                                        "line": 644,
                                        "column": 67
                                      }
                                    },
                                    "name": "s"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 25087,
                                    "end": 25088,
                                    "loc": {
                                      "start": {
                                        "line": 644,
                                        "column": 69
                                      },
                                      "end": {
                                        "line": 644,
                                        "column": 70
                                      }
                                    },
                                    "name": "s"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 25090,
                                    "end": 25091,
                                    "loc": {
                                      "start": {
                                        "line": 644,
                                        "column": 72
                                      },
                                      "end": {
                                        "line": 644,
                                        "column": 73
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  }
                                ]
                              }
                            },
                            {
                              "type": "BreakStatement",
                              "start": 25094,
                              "end": 25100,
                              "loc": {
                                "start": {
                                  "line": 644,
                                  "column": 76
                                },
                                "end": {
                                  "line": 644,
                                  "column": 82
                                }
                              },
                              "label": null
                            }
                          ],
                          "test": {
                            "type": "Literal",
                            "start": 25035,
                            "end": 25041,
                            "loc": {
                              "start": {
                                "line": 644,
                                "column": 17
                              },
                              "end": {
                                "line": 644,
                                "column": 23
                              }
                            },
                            "value": "Size",
                            "rawValue": "Size",
                            "raw": "'Size'"
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 25122,
              "end": 25196,
              "loc": {
                "start": {
                  "line": 648,
                  "column": 4
                },
                "end": {
                  "line": 650,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 25122,
                "end": 25138,
                "loc": {
                  "start": {
                    "line": 648,
                    "column": 4
                  },
                  "end": {
                    "line": 648,
                    "column": 20
                  }
                },
                "name": "finishedUpdating"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 25138,
                "end": 25196,
                "loc": {
                  "start": {
                    "line": 648,
                    "column": 20
                  },
                  "end": {
                    "line": 650,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 25141,
                  "end": 25196,
                  "loc": {
                    "start": {
                      "line": 648,
                      "column": 23
                    },
                    "end": {
                      "line": 650,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 25151,
                      "end": 25190,
                      "loc": {
                        "start": {
                          "line": 649,
                          "column": 8
                        },
                        "end": {
                          "line": 649,
                          "column": 47
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 25151,
                        "end": 25189,
                        "loc": {
                          "start": {
                            "line": 649,
                            "column": 8
                          },
                          "end": {
                            "line": 649,
                            "column": 46
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 25151,
                          "end": 25162,
                          "loc": {
                            "start": {
                              "line": 649,
                              "column": 8
                            },
                            "end": {
                              "line": 649,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 25151,
                            "end": 25155,
                            "loc": {
                              "start": {
                                "line": 649,
                                "column": 8
                              },
                              "end": {
                                "line": 649,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 25156,
                            "end": 25162,
                            "loc": {
                              "start": {
                                "line": 649,
                                "column": 13
                              },
                              "end": {
                                "line": 649,
                                "column": 19
                              }
                            },
                            "name": "bubble"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 25163,
                            "end": 25182,
                            "loc": {
                              "start": {
                                "line": 649,
                                "column": 20
                              },
                              "end": {
                                "line": 649,
                                "column": 39
                              }
                            },
                            "value": "Updated.WorkPlane",
                            "rawValue": "Updated.WorkPlane",
                            "raw": "'Updated.WorkPlane'"
                          },
                          {
                            "type": "ThisExpression",
                            "start": 25184,
                            "end": 25188,
                            "loc": {
                              "start": {
                                "line": 649,
                                "column": 41
                              },
                              "end": {
                                "line": 649,
                                "column": 45
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": "number of cells in visible triangulation",
            "start": 24098,
            "end": 24140,
            "loc": {
              "start": {
                "line": 622,
                "column": 37
              },
              "end": {
                "line": 622,
                "column": 79
              }
            },
            "range": [
              24098,
              24140
            ]
          },
          {
            "type": "CommentLine",
            "value": "==============================     WorkPlane    ==============================",
            "start": 24142,
            "end": 24222,
            "loc": {
              "start": {
                "line": 624,
                "column": 0
              },
              "end": {
                "line": 624,
                "column": 80
              }
            },
            "range": [
              24142,
              24222
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": "number of cells in visible triangulation",
          "start": 24098,
          "end": 24140,
          "loc": {
            "start": {
              "line": 622,
              "column": 37
            },
            "end": {
              "line": 622,
              "column": 79
            }
          },
          "range": [
            24098,
            24140
          ]
        },
        {
          "type": "CommentLine",
          "value": "==============================     WorkPlane    ==============================",
          "start": 24142,
          "end": 24222,
          "loc": {
            "start": {
              "line": 624,
              "column": 0
            },
            "end": {
              "line": 624,
              "column": 80
            }
          },
          "range": [
            24142,
            24222
          ]
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "start": 25199,
      "end": 25255,
      "loc": {
        "start": {
          "line": 652,
          "column": 0
        },
        "end": {
          "line": 652,
          "column": 56
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 25199,
        "end": 25254,
        "loc": {
          "start": {
            "line": 652,
            "column": 0
          },
          "end": {
            "line": 652,
            "column": 55
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 25199,
          "end": 25242,
          "loc": {
            "start": {
              "line": 652,
              "column": 0
            },
            "end": {
              "line": 652,
              "column": 43
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 25199,
            "end": 25226,
            "loc": {
              "start": {
                "line": 652,
                "column": 0
              },
              "end": {
                "line": 652,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 25199,
              "end": 25213,
              "loc": {
                "start": {
                  "line": 652,
                  "column": 0
                },
                "end": {
                  "line": 652,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 25214,
              "end": 25226,
              "loc": {
                "start": {
                  "line": 652,
                  "column": 15
                },
                "end": {
                  "line": 652,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 25227,
            "end": 25241,
            "loc": {
              "start": {
                "line": 652,
                "column": 28
              },
              "end": {
                "line": 652,
                "column": 42
              }
            },
            "value": "CC_WorkPlane",
            "rawValue": "CC_WorkPlane",
            "raw": "'CC_WorkPlane'"
          },
          "computed": true
        },
        "right": {
          "type": "Identifier",
          "start": 25245,
          "end": 25254,
          "loc": {
            "start": {
              "line": 652,
              "column": 46
            },
            "end": {
              "line": 652,
              "column": 55
            }
          },
          "name": "WorkPlane"
        }
      },
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": "==============================    Color set     ==============================",
          "start": 25257,
          "end": 25337,
          "loc": {
            "start": {
              "line": 654,
              "column": 0
            },
            "end": {
              "line": 654,
              "column": 80
            }
          },
          "range": [
            25257,
            25337
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 25338,
      "end": 26804,
      "loc": {
        "start": {
          "line": 655,
          "column": 0
        },
        "end": {
          "line": 688,
          "column": 1
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 25345,
        "end": 26804,
        "loc": {
          "start": {
            "line": 655,
            "column": 7
          },
          "end": {
            "line": 688,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 25354,
          "end": 25362,
          "loc": {
            "start": {
              "line": 655,
              "column": 16
            },
            "end": {
              "line": 655,
              "column": 24
            }
          },
          "name": "getColor",
          "leadingComments": null
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 25363,
            "end": 25369,
            "loc": {
              "start": {
                "line": 655,
                "column": 25
              },
              "end": {
                "line": 655,
                "column": 31
              }
            },
            "name": "object"
          },
          {
            "type": "Identifier",
            "start": 25371,
            "end": 25384,
            "loc": {
              "start": {
                "line": 655,
                "column": 33
              },
              "end": {
                "line": 655,
                "column": 46
              }
            },
            "name": "isHighlighted"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 25386,
          "end": 26804,
          "loc": {
            "start": {
              "line": 655,
              "column": 48
            },
            "end": {
              "line": 688,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 25392,
              "end": 25423,
              "loc": {
                "start": {
                  "line": 656,
                  "column": 4
                },
                "end": {
                  "line": 656,
                  "column": 35
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 25396,
                  "end": 25422,
                  "loc": {
                    "start": {
                      "line": 656,
                      "column": 8
                    },
                    "end": {
                      "line": 656,
                      "column": 34
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 25396,
                    "end": 25411,
                    "loc": {
                      "start": {
                        "line": 656,
                        "column": 8
                      },
                      "end": {
                        "line": 656,
                        "column": 23
                      }
                    },
                    "name": "pointUsualColor"
                  },
                  "init": {
                    "type": "Literal",
                    "start": 25414,
                    "end": 25422,
                    "loc": {
                      "start": {
                        "line": 656,
                        "column": 26
                      },
                      "end": {
                        "line": 656,
                        "column": 34
                      }
                    },
                    "value": 10967001,
                    "rawValue": 10967001,
                    "raw": "0xa757d9"
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 25428,
              "end": 25465,
              "loc": {
                "start": {
                  "line": 657,
                  "column": 4
                },
                "end": {
                  "line": 657,
                  "column": 41
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 25432,
                  "end": 25464,
                  "loc": {
                    "start": {
                      "line": 657,
                      "column": 8
                    },
                    "end": {
                      "line": 657,
                      "column": 40
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 25432,
                    "end": 25453,
                    "loc": {
                      "start": {
                        "line": 657,
                        "column": 8
                      },
                      "end": {
                        "line": 657,
                        "column": 29
                      }
                    },
                    "name": "pointHighlightedColor"
                  },
                  "init": {
                    "type": "Literal",
                    "start": 25456,
                    "end": 25464,
                    "loc": {
                      "start": {
                        "line": 657,
                        "column": 32
                      },
                      "end": {
                        "line": 657,
                        "column": 40
                      }
                    },
                    "value": 12611824,
                    "rawValue": 12611824,
                    "raw": "0xc070f0"
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 25470,
              "end": 25506,
              "loc": {
                "start": {
                  "line": 658,
                  "column": 4
                },
                "end": {
                  "line": 658,
                  "column": 40
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 25474,
                  "end": 25505,
                  "loc": {
                    "start": {
                      "line": 658,
                      "column": 8
                    },
                    "end": {
                      "line": 658,
                      "column": 39
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 25474,
                    "end": 25494,
                    "loc": {
                      "start": {
                        "line": 658,
                        "column": 8
                      },
                      "end": {
                        "line": 658,
                        "column": 28
                      }
                    },
                    "name": "pointUsualColorFixed"
                  },
                  "init": {
                    "type": "Literal",
                    "start": 25497,
                    "end": 25505,
                    "loc": {
                      "start": {
                        "line": 658,
                        "column": 31
                      },
                      "end": {
                        "line": 658,
                        "column": 39
                      }
                    },
                    "value": 8947848,
                    "rawValue": 8947848,
                    "raw": "0x888888"
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 25511,
              "end": 25553,
              "loc": {
                "start": {
                  "line": 659,
                  "column": 4
                },
                "end": {
                  "line": 659,
                  "column": 46
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 25515,
                  "end": 25552,
                  "loc": {
                    "start": {
                      "line": 659,
                      "column": 8
                    },
                    "end": {
                      "line": 659,
                      "column": 45
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 25515,
                    "end": 25541,
                    "loc": {
                      "start": {
                        "line": 659,
                        "column": 8
                      },
                      "end": {
                        "line": 659,
                        "column": 34
                      }
                    },
                    "name": "pointHighlightedColorFixed"
                  },
                  "init": {
                    "type": "Literal",
                    "start": 25544,
                    "end": 25552,
                    "loc": {
                      "start": {
                        "line": 659,
                        "column": 37
                      },
                      "end": {
                        "line": 659,
                        "column": 45
                      }
                    },
                    "value": 15658734,
                    "rawValue": 15658734,
                    "raw": "0xeeeeee"
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 25558,
              "end": 25667,
              "loc": {
                "start": {
                  "line": 660,
                  "column": 4
                },
                "end": {
                  "line": 660,
                  "column": 113
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 25562,
                  "end": 25666,
                  "loc": {
                    "start": {
                      "line": 660,
                      "column": 8
                    },
                    "end": {
                      "line": 660,
                      "column": 112
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 25562,
                    "end": 25573,
                    "loc": {
                      "start": {
                        "line": 660,
                        "column": 8
                      },
                      "end": {
                        "line": 660,
                        "column": 19
                      }
                    },
                    "name": "pointColors"
                  },
                  "init": {
                    "type": "ArrayExpression",
                    "start": 25576,
                    "end": 25666,
                    "loc": {
                      "start": {
                        "line": 660,
                        "column": 22
                      },
                      "end": {
                        "line": 660,
                        "column": 112
                      }
                    },
                    "elements": [
                      {
                        "type": "Identifier",
                        "start": 25577,
                        "end": 25592,
                        "loc": {
                          "start": {
                            "line": 660,
                            "column": 23
                          },
                          "end": {
                            "line": 660,
                            "column": 38
                          }
                        },
                        "name": "pointUsualColor"
                      },
                      {
                        "type": "Identifier",
                        "start": 25594,
                        "end": 25615,
                        "loc": {
                          "start": {
                            "line": 660,
                            "column": 40
                          },
                          "end": {
                            "line": 660,
                            "column": 61
                          }
                        },
                        "name": "pointHighlightedColor"
                      },
                      {
                        "type": "Identifier",
                        "start": 25617,
                        "end": 25637,
                        "loc": {
                          "start": {
                            "line": 660,
                            "column": 63
                          },
                          "end": {
                            "line": 660,
                            "column": 83
                          }
                        },
                        "name": "pointUsualColorFixed"
                      },
                      {
                        "type": "Identifier",
                        "start": 25639,
                        "end": 25665,
                        "loc": {
                          "start": {
                            "line": 660,
                            "column": 85
                          },
                          "end": {
                            "line": 660,
                            "column": 111
                          }
                        },
                        "name": "pointHighlightedColorFixed"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 25672,
              "end": 25702,
              "loc": {
                "start": {
                  "line": 661,
                  "column": 4
                },
                "end": {
                  "line": 661,
                  "column": 34
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 25676,
                  "end": 25701,
                  "loc": {
                    "start": {
                      "line": 661,
                      "column": 8
                    },
                    "end": {
                      "line": 661,
                      "column": 33
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 25676,
                    "end": 25690,
                    "loc": {
                      "start": {
                        "line": 661,
                        "column": 8
                      },
                      "end": {
                        "line": 661,
                        "column": 22
                      }
                    },
                    "name": "lineUsualColor"
                  },
                  "init": {
                    "type": "Literal",
                    "start": 25693,
                    "end": 25701,
                    "loc": {
                      "start": {
                        "line": 661,
                        "column": 25
                      },
                      "end": {
                        "line": 661,
                        "column": 33
                      }
                    },
                    "value": 3373218,
                    "rawValue": 3373218,
                    "raw": "0x3378a2"
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 25707,
              "end": 25743,
              "loc": {
                "start": {
                  "line": 662,
                  "column": 4
                },
                "end": {
                  "line": 662,
                  "column": 40
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 25711,
                  "end": 25742,
                  "loc": {
                    "start": {
                      "line": 662,
                      "column": 8
                    },
                    "end": {
                      "line": 662,
                      "column": 39
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 25711,
                    "end": 25731,
                    "loc": {
                      "start": {
                        "line": 662,
                        "column": 8
                      },
                      "end": {
                        "line": 662,
                        "column": 28
                      }
                    },
                    "name": "lineHighlightedColor"
                  },
                  "init": {
                    "type": "Literal",
                    "start": 25734,
                    "end": 25742,
                    "loc": {
                      "start": {
                        "line": 662,
                        "column": 31
                      },
                      "end": {
                        "line": 662,
                        "column": 39
                      }
                    },
                    "value": 11194324,
                    "rawValue": 11194324,
                    "raw": "0xaacfd4"
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 25748,
              "end": 25783,
              "loc": {
                "start": {
                  "line": 663,
                  "column": 4
                },
                "end": {
                  "line": 663,
                  "column": 39
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 25752,
                  "end": 25782,
                  "loc": {
                    "start": {
                      "line": 663,
                      "column": 8
                    },
                    "end": {
                      "line": 663,
                      "column": 38
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 25752,
                    "end": 25771,
                    "loc": {
                      "start": {
                        "line": 663,
                        "column": 8
                      },
                      "end": {
                        "line": 663,
                        "column": 27
                      }
                    },
                    "name": "lineUsualColorFixed"
                  },
                  "init": {
                    "type": "Literal",
                    "start": 25774,
                    "end": 25782,
                    "loc": {
                      "start": {
                        "line": 663,
                        "column": 30
                      },
                      "end": {
                        "line": 663,
                        "column": 38
                      }
                    },
                    "value": 8947848,
                    "rawValue": 8947848,
                    "raw": "0x888888"
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 25788,
              "end": 25829,
              "loc": {
                "start": {
                  "line": 664,
                  "column": 4
                },
                "end": {
                  "line": 664,
                  "column": 45
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 25792,
                  "end": 25828,
                  "loc": {
                    "start": {
                      "line": 664,
                      "column": 8
                    },
                    "end": {
                      "line": 664,
                      "column": 44
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 25792,
                    "end": 25817,
                    "loc": {
                      "start": {
                        "line": 664,
                        "column": 8
                      },
                      "end": {
                        "line": 664,
                        "column": 33
                      }
                    },
                    "name": "lineHighlightedColorFixed"
                  },
                  "init": {
                    "type": "Literal",
                    "start": 25820,
                    "end": 25828,
                    "loc": {
                      "start": {
                        "line": 664,
                        "column": 36
                      },
                      "end": {
                        "line": 664,
                        "column": 44
                      }
                    },
                    "value": 15658734,
                    "rawValue": 15658734,
                    "raw": "0xeeeeee"
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 25834,
              "end": 25938,
              "loc": {
                "start": {
                  "line": 665,
                  "column": 4
                },
                "end": {
                  "line": 665,
                  "column": 108
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 25838,
                  "end": 25937,
                  "loc": {
                    "start": {
                      "line": 665,
                      "column": 8
                    },
                    "end": {
                      "line": 665,
                      "column": 107
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 25838,
                    "end": 25848,
                    "loc": {
                      "start": {
                        "line": 665,
                        "column": 8
                      },
                      "end": {
                        "line": 665,
                        "column": 18
                      }
                    },
                    "name": "lineColors"
                  },
                  "init": {
                    "type": "ArrayExpression",
                    "start": 25851,
                    "end": 25937,
                    "loc": {
                      "start": {
                        "line": 665,
                        "column": 21
                      },
                      "end": {
                        "line": 665,
                        "column": 107
                      }
                    },
                    "elements": [
                      {
                        "type": "Identifier",
                        "start": 25852,
                        "end": 25866,
                        "loc": {
                          "start": {
                            "line": 665,
                            "column": 22
                          },
                          "end": {
                            "line": 665,
                            "column": 36
                          }
                        },
                        "name": "lineUsualColor"
                      },
                      {
                        "type": "Identifier",
                        "start": 25868,
                        "end": 25888,
                        "loc": {
                          "start": {
                            "line": 665,
                            "column": 38
                          },
                          "end": {
                            "line": 665,
                            "column": 58
                          }
                        },
                        "name": "lineHighlightedColor"
                      },
                      {
                        "type": "Identifier",
                        "start": 25890,
                        "end": 25909,
                        "loc": {
                          "start": {
                            "line": 665,
                            "column": 60
                          },
                          "end": {
                            "line": 665,
                            "column": 79
                          }
                        },
                        "name": "lineUsualColorFixed"
                      },
                      {
                        "type": "Identifier",
                        "start": 25911,
                        "end": 25936,
                        "loc": {
                          "start": {
                            "line": 665,
                            "column": 81
                          },
                          "end": {
                            "line": 665,
                            "column": 106
                          }
                        },
                        "name": "lineHighlightedColorFixed"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 25943,
              "end": 25972,
              "loc": {
                "start": {
                  "line": 666,
                  "column": 4
                },
                "end": {
                  "line": 666,
                  "column": 33
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 25947,
                  "end": 25971,
                  "loc": {
                    "start": {
                      "line": 666,
                      "column": 8
                    },
                    "end": {
                      "line": 666,
                      "column": 32
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 25947,
                    "end": 25960,
                    "loc": {
                      "start": {
                        "line": 666,
                        "column": 8
                      },
                      "end": {
                        "line": 666,
                        "column": 21
                      }
                    },
                    "name": "arcUsualColor"
                  },
                  "init": {
                    "type": "Literal",
                    "start": 25963,
                    "end": 25971,
                    "loc": {
                      "start": {
                        "line": 666,
                        "column": 24
                      },
                      "end": {
                        "line": 666,
                        "column": 32
                      }
                    },
                    "value": 12731257,
                    "rawValue": 12731257,
                    "raw": "0xc24379"
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 25977,
              "end": 26012,
              "loc": {
                "start": {
                  "line": 667,
                  "column": 4
                },
                "end": {
                  "line": 667,
                  "column": 39
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 25981,
                  "end": 26011,
                  "loc": {
                    "start": {
                      "line": 667,
                      "column": 8
                    },
                    "end": {
                      "line": 667,
                      "column": 38
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 25981,
                    "end": 26000,
                    "loc": {
                      "start": {
                        "line": 667,
                        "column": 8
                      },
                      "end": {
                        "line": 667,
                        "column": 27
                      }
                    },
                    "name": "arcHighlightedColor"
                  },
                  "init": {
                    "type": "Literal",
                    "start": 26003,
                    "end": 26011,
                    "loc": {
                      "start": {
                        "line": 667,
                        "column": 30
                      },
                      "end": {
                        "line": 667,
                        "column": 38
                      }
                    },
                    "value": 15226024,
                    "rawValue": 15226024,
                    "raw": "0xe854a8"
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 26017,
              "end": 26051,
              "loc": {
                "start": {
                  "line": 668,
                  "column": 4
                },
                "end": {
                  "line": 668,
                  "column": 38
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 26021,
                  "end": 26050,
                  "loc": {
                    "start": {
                      "line": 668,
                      "column": 8
                    },
                    "end": {
                      "line": 668,
                      "column": 37
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 26021,
                    "end": 26039,
                    "loc": {
                      "start": {
                        "line": 668,
                        "column": 8
                      },
                      "end": {
                        "line": 668,
                        "column": 26
                      }
                    },
                    "name": "arcUsualColorFixed"
                  },
                  "init": {
                    "type": "Literal",
                    "start": 26042,
                    "end": 26050,
                    "loc": {
                      "start": {
                        "line": 668,
                        "column": 29
                      },
                      "end": {
                        "line": 668,
                        "column": 37
                      }
                    },
                    "value": 8947848,
                    "rawValue": 8947848,
                    "raw": "0x888888"
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 26056,
              "end": 26096,
              "loc": {
                "start": {
                  "line": 669,
                  "column": 4
                },
                "end": {
                  "line": 669,
                  "column": 44
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 26060,
                  "end": 26095,
                  "loc": {
                    "start": {
                      "line": 669,
                      "column": 8
                    },
                    "end": {
                      "line": 669,
                      "column": 43
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 26060,
                    "end": 26084,
                    "loc": {
                      "start": {
                        "line": 669,
                        "column": 8
                      },
                      "end": {
                        "line": 669,
                        "column": 32
                      }
                    },
                    "name": "arcHighlightedColorFixed"
                  },
                  "init": {
                    "type": "Literal",
                    "start": 26087,
                    "end": 26095,
                    "loc": {
                      "start": {
                        "line": 669,
                        "column": 35
                      },
                      "end": {
                        "line": 669,
                        "column": 43
                      }
                    },
                    "value": 15658734,
                    "rawValue": 15658734,
                    "raw": "0xeeeeee"
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 26101,
              "end": 26200,
              "loc": {
                "start": {
                  "line": 670,
                  "column": 4
                },
                "end": {
                  "line": 670,
                  "column": 103
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 26105,
                  "end": 26199,
                  "loc": {
                    "start": {
                      "line": 670,
                      "column": 8
                    },
                    "end": {
                      "line": 670,
                      "column": 102
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 26105,
                    "end": 26114,
                    "loc": {
                      "start": {
                        "line": 670,
                        "column": 8
                      },
                      "end": {
                        "line": 670,
                        "column": 17
                      }
                    },
                    "name": "arcColors"
                  },
                  "init": {
                    "type": "ArrayExpression",
                    "start": 26117,
                    "end": 26199,
                    "loc": {
                      "start": {
                        "line": 670,
                        "column": 20
                      },
                      "end": {
                        "line": 670,
                        "column": 102
                      }
                    },
                    "elements": [
                      {
                        "type": "Identifier",
                        "start": 26118,
                        "end": 26131,
                        "loc": {
                          "start": {
                            "line": 670,
                            "column": 21
                          },
                          "end": {
                            "line": 670,
                            "column": 34
                          }
                        },
                        "name": "arcUsualColor"
                      },
                      {
                        "type": "Identifier",
                        "start": 26133,
                        "end": 26152,
                        "loc": {
                          "start": {
                            "line": 670,
                            "column": 36
                          },
                          "end": {
                            "line": 670,
                            "column": 55
                          }
                        },
                        "name": "arcHighlightedColor"
                      },
                      {
                        "type": "Identifier",
                        "start": 26154,
                        "end": 26172,
                        "loc": {
                          "start": {
                            "line": 670,
                            "column": 57
                          },
                          "end": {
                            "line": 670,
                            "column": 75
                          }
                        },
                        "name": "arcUsualColorFixed"
                      },
                      {
                        "type": "Identifier",
                        "start": 26174,
                        "end": 26198,
                        "loc": {
                          "start": {
                            "line": 670,
                            "column": 77
                          },
                          "end": {
                            "line": 670,
                            "column": 101
                          }
                        },
                        "name": "arcHighlightedColorFixed"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 26205,
              "end": 26231,
              "loc": {
                "start": {
                  "line": 671,
                  "column": 4
                },
                "end": {
                  "line": 671,
                  "column": 30
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 26209,
                  "end": 26230,
                  "loc": {
                    "start": {
                      "line": 671,
                      "column": 8
                    },
                    "end": {
                      "line": 671,
                      "column": 29
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 26209,
                    "end": 26219,
                    "loc": {
                      "start": {
                        "line": 671,
                        "column": 8
                      },
                      "end": {
                        "line": 671,
                        "column": 18
                      }
                    },
                    "name": "planeColor"
                  },
                  "init": {
                    "type": "Literal",
                    "start": 26222,
                    "end": 26230,
                    "loc": {
                      "start": {
                        "line": 671,
                        "column": 21
                      },
                      "end": {
                        "line": 671,
                        "column": 29
                      }
                    },
                    "value": 8355711,
                    "rawValue": 8355711,
                    "raw": "0x7f7f7f"
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 26237,
              "end": 26278,
              "loc": {
                "start": {
                  "line": 673,
                  "column": 4
                },
                "end": {
                  "line": 673,
                  "column": 45
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 26241,
                  "end": 26277,
                  "loc": {
                    "start": {
                      "line": 673,
                      "column": 8
                    },
                    "end": {
                      "line": 673,
                      "column": 44
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 26241,
                    "end": 26247,
                    "loc": {
                      "start": {
                        "line": 673,
                        "column": 8
                      },
                      "end": {
                        "line": 673,
                        "column": 14
                      }
                    },
                    "name": "sketch"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 26250,
                    "end": 26277,
                    "loc": {
                      "start": {
                        "line": 673,
                        "column": 17
                      },
                      "end": {
                        "line": 673,
                        "column": 44
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 26250,
                      "end": 26269,
                      "loc": {
                        "start": {
                          "line": 673,
                          "column": 17
                        },
                        "end": {
                          "line": 673,
                          "column": 36
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 26250,
                        "end": 26256,
                        "loc": {
                          "start": {
                            "line": 673,
                            "column": 17
                          },
                          "end": {
                            "line": 673,
                            "column": 23
                          }
                        },
                        "name": "Sketch"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 26257,
                        "end": 26269,
                        "loc": {
                          "start": {
                            "line": 673,
                            "column": 24
                          },
                          "end": {
                            "line": 673,
                            "column": 36
                          }
                        },
                        "name": "FindSketchOf"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 26270,
                        "end": 26276,
                        "loc": {
                          "start": {
                            "line": 673,
                            "column": 37
                          },
                          "end": {
                            "line": 673,
                            "column": 43
                          }
                        },
                        "name": "object"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 26283,
              "end": 26394,
              "loc": {
                "start": {
                  "line": 674,
                  "column": 4
                },
                "end": {
                  "line": 674,
                  "column": 115
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 26287,
                  "end": 26393,
                  "loc": {
                    "start": {
                      "line": 674,
                      "column": 8
                    },
                    "end": {
                      "line": 674,
                      "column": 114
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 26287,
                    "end": 26294,
                    "loc": {
                      "start": {
                        "line": 674,
                        "column": 8
                      },
                      "end": {
                        "line": 674,
                        "column": 15
                      }
                    },
                    "name": "isFixed"
                  },
                  "init": {
                    "type": "ConditionalExpression",
                    "start": 26297,
                    "end": 26393,
                    "loc": {
                      "start": {
                        "line": 674,
                        "column": 18
                      },
                      "end": {
                        "line": 674,
                        "column": 114
                      }
                    },
                    "test": {
                      "type": "Identifier",
                      "start": 26297,
                      "end": 26303,
                      "loc": {
                        "start": {
                          "line": 674,
                          "column": 18
                        },
                        "end": {
                          "line": 674,
                          "column": 24
                        }
                      },
                      "name": "sketch"
                    },
                    "consequent": {
                      "type": "CallExpression",
                      "start": 26306,
                      "end": 26386,
                      "loc": {
                        "start": {
                          "line": 674,
                          "column": 27
                        },
                        "end": {
                          "line": 674,
                          "column": 107
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 26306,
                        "end": 26348,
                        "loc": {
                          "start": {
                            "line": 674,
                            "column": 27
                          },
                          "end": {
                            "line": 674,
                            "column": 69
                          }
                        },
                        "object": {
                          "type": "CallExpression",
                          "start": 26306,
                          "end": 26343,
                          "loc": {
                            "start": {
                              "line": 674,
                              "column": 27
                            },
                            "end": {
                              "line": 674,
                              "column": 64
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 26306,
                            "end": 26335,
                            "loc": {
                              "start": {
                                "line": 674,
                                "column": 27
                              },
                              "end": {
                                "line": 674,
                                "column": 56
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 26306,
                              "end": 26312,
                              "loc": {
                                "start": {
                                  "line": 674,
                                  "column": 27
                                },
                                "end": {
                                  "line": 674,
                                  "column": 33
                                }
                              },
                              "name": "sketch"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 26313,
                              "end": 26335,
                              "loc": {
                                "start": {
                                  "line": 674,
                                  "column": 34
                                },
                                "end": {
                                  "line": 674,
                                  "column": 56
                                }
                              },
                              "name": "getConstraintsOnSketch"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 26336,
                              "end": 26342,
                              "loc": {
                                "start": {
                                  "line": 674,
                                  "column": 57
                                },
                                "end": {
                                  "line": 674,
                                  "column": 63
                                }
                              },
                              "name": "object"
                            }
                          ]
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 26344,
                          "end": 26348,
                          "loc": {
                            "start": {
                              "line": 674,
                              "column": 65
                            },
                            "end": {
                              "line": 674,
                              "column": 69
                            }
                          },
                          "name": "some"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "ArrowFunctionExpression",
                          "start": 26349,
                          "end": 26385,
                          "loc": {
                            "start": {
                              "line": 674,
                              "column": 70
                            },
                            "end": {
                              "line": 674,
                              "column": 106
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": true,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 26349,
                              "end": 26355,
                              "loc": {
                                "start": {
                                  "line": 674,
                                  "column": 70
                                },
                                "end": {
                                  "line": 674,
                                  "column": 76
                                }
                              },
                              "name": "constr"
                            }
                          ],
                          "body": {
                            "type": "BinaryExpression",
                            "start": 26359,
                            "end": 26385,
                            "loc": {
                              "start": {
                                "line": 674,
                                "column": 80
                              },
                              "end": {
                                "line": 674,
                                "column": 106
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 26359,
                              "end": 26370,
                              "loc": {
                                "start": {
                                  "line": 674,
                                  "column": 80
                                },
                                "end": {
                                  "line": 674,
                                  "column": 91
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 26359,
                                "end": 26365,
                                "loc": {
                                  "start": {
                                    "line": 674,
                                    "column": 80
                                  },
                                  "end": {
                                    "line": 674,
                                    "column": 86
                                  }
                                },
                                "name": "constr"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 26366,
                                "end": 26370,
                                "loc": {
                                  "start": {
                                    "line": 674,
                                    "column": 87
                                  },
                                  "end": {
                                    "line": 674,
                                    "column": 91
                                  }
                                },
                                "name": "name"
                              },
                              "computed": false
                            },
                            "operator": "===",
                            "right": {
                              "type": "Literal",
                              "start": 26375,
                              "end": 26385,
                              "loc": {
                                "start": {
                                  "line": 674,
                                  "column": 96
                                },
                                "end": {
                                  "line": 674,
                                  "column": 106
                                }
                              },
                              "value": "FIXATION",
                              "rawValue": "FIXATION",
                              "raw": "\"FIXATION\""
                            }
                          }
                        }
                      ]
                    },
                    "alternate": {
                      "type": "Literal",
                      "start": 26388,
                      "end": 26393,
                      "loc": {
                        "start": {
                          "line": 674,
                          "column": 109
                        },
                        "end": {
                          "line": 674,
                          "column": 114
                        }
                      },
                      "value": false,
                      "rawValue": false,
                      "raw": "false"
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 26399,
              "end": 26455,
              "loc": {
                "start": {
                  "line": 675,
                  "column": 4
                },
                "end": {
                  "line": 675,
                  "column": 60
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 26403,
                  "end": 26454,
                  "loc": {
                    "start": {
                      "line": 675,
                      "column": 8
                    },
                    "end": {
                      "line": 675,
                      "column": 59
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 26403,
                    "end": 26408,
                    "loc": {
                      "start": {
                        "line": 675,
                        "column": 8
                      },
                      "end": {
                        "line": 675,
                        "column": 13
                      }
                    },
                    "name": "index"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 26411,
                    "end": 26454,
                    "loc": {
                      "start": {
                        "line": 675,
                        "column": 16
                      },
                      "end": {
                        "line": 675,
                        "column": 59
                      }
                    },
                    "left": {
                      "type": "ConditionalExpression",
                      "start": 26412,
                      "end": 26427,
                      "loc": {
                        "start": {
                          "line": 675,
                          "column": 17
                        },
                        "end": {
                          "line": 675,
                          "column": 32
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 26412,
                        "end": 26419,
                        "loc": {
                          "start": {
                            "line": 675,
                            "column": 17
                          },
                          "end": {
                            "line": 675,
                            "column": 24
                          }
                        },
                        "name": "isFixed"
                      },
                      "consequent": {
                        "type": "Literal",
                        "start": 26422,
                        "end": 26423,
                        "loc": {
                          "start": {
                            "line": 675,
                            "column": 27
                          },
                          "end": {
                            "line": 675,
                            "column": 28
                          }
                        },
                        "value": 2,
                        "rawValue": 2,
                        "raw": "2"
                      },
                      "alternate": {
                        "type": "Literal",
                        "start": 26426,
                        "end": 26427,
                        "loc": {
                          "start": {
                            "line": 675,
                            "column": 31
                          },
                          "end": {
                            "line": 675,
                            "column": 32
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      "parenthesizedExpression": true
                    },
                    "operator": "+",
                    "right": {
                      "type": "ConditionalExpression",
                      "start": 26432,
                      "end": 26453,
                      "loc": {
                        "start": {
                          "line": 675,
                          "column": 37
                        },
                        "end": {
                          "line": 675,
                          "column": 58
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 26432,
                        "end": 26445,
                        "loc": {
                          "start": {
                            "line": 675,
                            "column": 37
                          },
                          "end": {
                            "line": 675,
                            "column": 50
                          }
                        },
                        "name": "isHighlighted"
                      },
                      "consequent": {
                        "type": "Literal",
                        "start": 26448,
                        "end": 26449,
                        "loc": {
                          "start": {
                            "line": 675,
                            "column": 53
                          },
                          "end": {
                            "line": 675,
                            "column": 54
                          }
                        },
                        "value": 1,
                        "rawValue": 1,
                        "raw": "1"
                      },
                      "alternate": {
                        "type": "Literal",
                        "start": 26452,
                        "end": 26453,
                        "loc": {
                          "start": {
                            "line": 675,
                            "column": 57
                          },
                          "end": {
                            "line": 675,
                            "column": 58
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      "parenthesizedExpression": true
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 26460,
              "end": 26482,
              "loc": {
                "start": {
                  "line": 676,
                  "column": 4
                },
                "end": {
                  "line": 676,
                  "column": 26
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 26464,
                  "end": 26481,
                  "loc": {
                    "start": {
                      "line": 676,
                      "column": 8
                    },
                    "end": {
                      "line": 676,
                      "column": 25
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 26464,
                    "end": 26469,
                    "loc": {
                      "start": {
                        "line": 676,
                        "column": 8
                      },
                      "end": {
                        "line": 676,
                        "column": 13
                      }
                    },
                    "name": "color"
                  },
                  "init": {
                    "type": "Identifier",
                    "start": 26472,
                    "end": 26481,
                    "loc": {
                      "start": {
                        "line": 676,
                        "column": 16
                      },
                      "end": {
                        "line": 676,
                        "column": 25
                      }
                    },
                    "name": "undefined"
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "IfStatement",
              "start": 26488,
              "end": 26784,
              "loc": {
                "start": {
                  "line": 678,
                  "column": 4
                },
                "end": {
                  "line": 686,
                  "column": 5
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 26492,
                "end": 26515,
                "loc": {
                  "start": {
                    "line": 678,
                    "column": 8
                  },
                  "end": {
                    "line": 678,
                    "column": 31
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 26492,
                  "end": 26498,
                  "loc": {
                    "start": {
                      "line": 678,
                      "column": 8
                    },
                    "end": {
                      "line": 678,
                      "column": 14
                    }
                  },
                  "name": "object"
                },
                "operator": "instanceof",
                "right": {
                  "type": "Identifier",
                  "start": 26510,
                  "end": 26515,
                  "loc": {
                    "start": {
                      "line": 678,
                      "column": 26
                    },
                    "end": {
                      "line": 678,
                      "column": 31
                    }
                  },
                  "name": "Point"
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 26517,
                "end": 26560,
                "loc": {
                  "start": {
                    "line": 678,
                    "column": 33
                  },
                  "end": {
                    "line": 680,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 26527,
                    "end": 26554,
                    "loc": {
                      "start": {
                        "line": 679,
                        "column": 8
                      },
                      "end": {
                        "line": 679,
                        "column": 35
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 26527,
                      "end": 26553,
                      "loc": {
                        "start": {
                          "line": 679,
                          "column": 8
                        },
                        "end": {
                          "line": 679,
                          "column": 34
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 26527,
                        "end": 26532,
                        "loc": {
                          "start": {
                            "line": 679,
                            "column": 8
                          },
                          "end": {
                            "line": 679,
                            "column": 13
                          }
                        },
                        "name": "color"
                      },
                      "right": {
                        "type": "MemberExpression",
                        "start": 26535,
                        "end": 26553,
                        "loc": {
                          "start": {
                            "line": 679,
                            "column": 16
                          },
                          "end": {
                            "line": 679,
                            "column": 34
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 26535,
                          "end": 26546,
                          "loc": {
                            "start": {
                              "line": 679,
                              "column": 16
                            },
                            "end": {
                              "line": 679,
                              "column": 27
                            }
                          },
                          "name": "pointColors"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 26547,
                          "end": 26552,
                          "loc": {
                            "start": {
                              "line": 679,
                              "column": 28
                            },
                            "end": {
                              "line": 679,
                              "column": 33
                            }
                          },
                          "name": "index"
                        },
                        "computed": true
                      }
                    }
                  }
                ]
              },
              "alternate": {
                "type": "IfStatement",
                "start": 26566,
                "end": 26784,
                "loc": {
                  "start": {
                    "line": 680,
                    "column": 11
                  },
                  "end": {
                    "line": 686,
                    "column": 5
                  }
                },
                "test": {
                  "type": "BinaryExpression",
                  "start": 26570,
                  "end": 26592,
                  "loc": {
                    "start": {
                      "line": 680,
                      "column": 15
                    },
                    "end": {
                      "line": 680,
                      "column": 37
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 26570,
                    "end": 26576,
                    "loc": {
                      "start": {
                        "line": 680,
                        "column": 15
                      },
                      "end": {
                        "line": 680,
                        "column": 21
                      }
                    },
                    "name": "object"
                  },
                  "operator": "instanceof",
                  "right": {
                    "type": "Identifier",
                    "start": 26588,
                    "end": 26592,
                    "loc": {
                      "start": {
                        "line": 680,
                        "column": 33
                      },
                      "end": {
                        "line": 680,
                        "column": 37
                      }
                    },
                    "name": "Line"
                  }
                },
                "consequent": {
                  "type": "BlockStatement",
                  "start": 26594,
                  "end": 26636,
                  "loc": {
                    "start": {
                      "line": 680,
                      "column": 39
                    },
                    "end": {
                      "line": 682,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 26604,
                      "end": 26630,
                      "loc": {
                        "start": {
                          "line": 681,
                          "column": 8
                        },
                        "end": {
                          "line": 681,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 26604,
                        "end": 26629,
                        "loc": {
                          "start": {
                            "line": 681,
                            "column": 8
                          },
                          "end": {
                            "line": 681,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 26604,
                          "end": 26609,
                          "loc": {
                            "start": {
                              "line": 681,
                              "column": 8
                            },
                            "end": {
                              "line": 681,
                              "column": 13
                            }
                          },
                          "name": "color"
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 26612,
                          "end": 26629,
                          "loc": {
                            "start": {
                              "line": 681,
                              "column": 16
                            },
                            "end": {
                              "line": 681,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 26612,
                            "end": 26622,
                            "loc": {
                              "start": {
                                "line": 681,
                                "column": 16
                              },
                              "end": {
                                "line": 681,
                                "column": 26
                              }
                            },
                            "name": "lineColors"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 26623,
                            "end": 26628,
                            "loc": {
                              "start": {
                                "line": 681,
                                "column": 27
                              },
                              "end": {
                                "line": 681,
                                "column": 32
                              }
                            },
                            "name": "index"
                          },
                          "computed": true
                        }
                      }
                    }
                  ]
                },
                "alternate": {
                  "type": "IfStatement",
                  "start": 26642,
                  "end": 26784,
                  "loc": {
                    "start": {
                      "line": 682,
                      "column": 11
                    },
                    "end": {
                      "line": 686,
                      "column": 5
                    }
                  },
                  "test": {
                    "type": "BinaryExpression",
                    "start": 26646,
                    "end": 26667,
                    "loc": {
                      "start": {
                        "line": 682,
                        "column": 15
                      },
                      "end": {
                        "line": 682,
                        "column": 36
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 26646,
                      "end": 26652,
                      "loc": {
                        "start": {
                          "line": 682,
                          "column": 15
                        },
                        "end": {
                          "line": 682,
                          "column": 21
                        }
                      },
                      "name": "object"
                    },
                    "operator": "instanceof",
                    "right": {
                      "type": "Identifier",
                      "start": 26664,
                      "end": 26667,
                      "loc": {
                        "start": {
                          "line": 682,
                          "column": 33
                        },
                        "end": {
                          "line": 682,
                          "column": 36
                        }
                      },
                      "name": "Arc"
                    }
                  },
                  "consequent": {
                    "type": "BlockStatement",
                    "start": 26669,
                    "end": 26710,
                    "loc": {
                      "start": {
                        "line": 682,
                        "column": 38
                      },
                      "end": {
                        "line": 684,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "ExpressionStatement",
                        "start": 26679,
                        "end": 26704,
                        "loc": {
                          "start": {
                            "line": 683,
                            "column": 8
                          },
                          "end": {
                            "line": 683,
                            "column": 33
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 26679,
                          "end": 26703,
                          "loc": {
                            "start": {
                              "line": 683,
                              "column": 8
                            },
                            "end": {
                              "line": 683,
                              "column": 32
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 26679,
                            "end": 26684,
                            "loc": {
                              "start": {
                                "line": 683,
                                "column": 8
                              },
                              "end": {
                                "line": 683,
                                "column": 13
                              }
                            },
                            "name": "color"
                          },
                          "right": {
                            "type": "MemberExpression",
                            "start": 26687,
                            "end": 26703,
                            "loc": {
                              "start": {
                                "line": 683,
                                "column": 16
                              },
                              "end": {
                                "line": 683,
                                "column": 32
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 26687,
                              "end": 26696,
                              "loc": {
                                "start": {
                                  "line": 683,
                                  "column": 16
                                },
                                "end": {
                                  "line": 683,
                                  "column": 25
                                }
                              },
                              "name": "arcColors"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 26697,
                              "end": 26702,
                              "loc": {
                                "start": {
                                  "line": 683,
                                  "column": 26
                                },
                                "end": {
                                  "line": 683,
                                  "column": 31
                                }
                              },
                              "name": "index"
                            },
                            "computed": true
                          }
                        }
                      }
                    ]
                  },
                  "alternate": {
                    "type": "IfStatement",
                    "start": 26716,
                    "end": 26784,
                    "loc": {
                      "start": {
                        "line": 684,
                        "column": 11
                      },
                      "end": {
                        "line": 686,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 26720,
                      "end": 26747,
                      "loc": {
                        "start": {
                          "line": 684,
                          "column": 15
                        },
                        "end": {
                          "line": 684,
                          "column": 42
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 26720,
                        "end": 26726,
                        "loc": {
                          "start": {
                            "line": 684,
                            "column": 15
                          },
                          "end": {
                            "line": 684,
                            "column": 21
                          }
                        },
                        "name": "object"
                      },
                      "operator": "instanceof",
                      "right": {
                        "type": "Identifier",
                        "start": 26738,
                        "end": 26747,
                        "loc": {
                          "start": {
                            "line": 684,
                            "column": 33
                          },
                          "end": {
                            "line": 684,
                            "column": 42
                          }
                        },
                        "name": "WorkPlane"
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 26749,
                      "end": 26784,
                      "loc": {
                        "start": {
                          "line": 684,
                          "column": 44
                        },
                        "end": {
                          "line": 686,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 26759,
                          "end": 26778,
                          "loc": {
                            "start": {
                              "line": 685,
                              "column": 8
                            },
                            "end": {
                              "line": 685,
                              "column": 27
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 26759,
                            "end": 26777,
                            "loc": {
                              "start": {
                                "line": 685,
                                "column": 8
                              },
                              "end": {
                                "line": 685,
                                "column": 26
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 26759,
                              "end": 26764,
                              "loc": {
                                "start": {
                                  "line": 685,
                                  "column": 8
                                },
                                "end": {
                                  "line": 685,
                                  "column": 13
                                }
                              },
                              "name": "color"
                            },
                            "right": {
                              "type": "Identifier",
                              "start": 26767,
                              "end": 26777,
                              "loc": {
                                "start": {
                                  "line": 685,
                                  "column": 16
                                },
                                "end": {
                                  "line": 685,
                                  "column": 26
                                }
                              },
                              "name": "planeColor"
                            }
                          }
                        }
                      ]
                    },
                    "alternate": null
                  }
                }
              }
            },
            {
              "type": "ReturnStatement",
              "start": 26789,
              "end": 26802,
              "loc": {
                "start": {
                  "line": 687,
                  "column": 4
                },
                "end": {
                  "line": 687,
                  "column": 17
                }
              },
              "argument": {
                "type": "Identifier",
                "start": 26796,
                "end": 26801,
                "loc": {
                  "start": {
                    "line": 687,
                    "column": 11
                  },
                  "end": {
                    "line": 687,
                    "column": 16
                  }
                },
                "name": "color"
              }
            }
          ],
          "trailingComments": null
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": "==============================    Color set     ==============================",
            "start": 25257,
            "end": 25337,
            "loc": {
              "start": {
                "line": 654,
                "column": 0
              },
              "end": {
                "line": 654,
                "column": 80
              }
            },
            "range": [
              25257,
              25337
            ]
          }
        ],
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": "sizes in pixels (diameter/width)",
            "start": 26806,
            "end": 26840,
            "loc": {
              "start": {
                "line": 690,
                "column": 0
              },
              "end": {
                "line": 690,
                "column": 34
              }
            },
            "range": [
              26806,
              26840
            ]
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": "==============================    Color set     ==============================",
          "start": 25257,
          "end": 25337,
          "loc": {
            "start": {
              "line": 654,
              "column": 0
            },
            "end": {
              "line": 654,
              "column": 80
            }
          },
          "range": [
            25257,
            25337
          ]
        }
      ],
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": "sizes in pixels (diameter/width)",
          "start": 26806,
          "end": 26840,
          "loc": {
            "start": {
              "line": 690,
              "column": 0
            },
            "end": {
              "line": 690,
              "column": 34
            }
          },
          "range": [
            26806,
            26840
          ]
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "start": 26841,
      "end": 26872,
      "loc": {
        "start": {
          "line": 691,
          "column": 0
        },
        "end": {
          "line": 691,
          "column": 31
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 26841,
        "end": 26871,
        "loc": {
          "start": {
            "line": 691,
            "column": 0
          },
          "end": {
            "line": 691,
            "column": 30
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 26841,
          "end": 26866,
          "loc": {
            "start": {
              "line": 691,
              "column": 0
            },
            "end": {
              "line": 691,
              "column": 25
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 26841,
            "end": 26856,
            "loc": {
              "start": {
                "line": 691,
                "column": 0
              },
              "end": {
                "line": 691,
                "column": 15
              }
            },
            "object": {
              "type": "Identifier",
              "start": 26841,
              "end": 26846,
              "loc": {
                "start": {
                  "line": 691,
                  "column": 0
                },
                "end": {
                  "line": 691,
                  "column": 5
                }
              },
              "name": "Point",
              "leadingComments": null
            },
            "property": {
              "type": "Identifier",
              "start": 26847,
              "end": 26856,
              "loc": {
                "start": {
                  "line": 691,
                  "column": 6
                },
                "end": {
                  "line": 691,
                  "column": 15
                }
              },
              "name": "prototype"
            },
            "computed": false,
            "leadingComments": null
          },
          "property": {
            "type": "Identifier",
            "start": 26857,
            "end": 26866,
            "loc": {
              "start": {
                "line": 691,
                "column": 16
              },
              "end": {
                "line": 691,
                "column": 25
              }
            },
            "name": "thickness"
          },
          "computed": false,
          "leadingComments": null
        },
        "right": {
          "type": "Literal",
          "start": 26869,
          "end": 26871,
          "loc": {
            "start": {
              "line": 691,
              "column": 28
            },
            "end": {
              "line": 691,
              "column": 30
            }
          },
          "value": 10,
          "rawValue": 10,
          "raw": "10"
        },
        "leadingComments": null
      },
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": "sizes in pixels (diameter/width)",
          "start": 26806,
          "end": 26840,
          "loc": {
            "start": {
              "line": 690,
              "column": 0
            },
            "end": {
              "line": 690,
              "column": 34
            }
          },
          "range": [
            26806,
            26840
          ]
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "start": 26873,
      "end": 26902,
      "loc": {
        "start": {
          "line": 692,
          "column": 0
        },
        "end": {
          "line": 692,
          "column": 29
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 26873,
        "end": 26901,
        "loc": {
          "start": {
            "line": 692,
            "column": 0
          },
          "end": {
            "line": 692,
            "column": 28
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 26873,
          "end": 26897,
          "loc": {
            "start": {
              "line": 692,
              "column": 0
            },
            "end": {
              "line": 692,
              "column": 24
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 26873,
            "end": 26887,
            "loc": {
              "start": {
                "line": 692,
                "column": 0
              },
              "end": {
                "line": 692,
                "column": 14
              }
            },
            "object": {
              "type": "Identifier",
              "start": 26873,
              "end": 26877,
              "loc": {
                "start": {
                  "line": 692,
                  "column": 0
                },
                "end": {
                  "line": 692,
                  "column": 4
                }
              },
              "name": "Line"
            },
            "property": {
              "type": "Identifier",
              "start": 26878,
              "end": 26887,
              "loc": {
                "start": {
                  "line": 692,
                  "column": 5
                },
                "end": {
                  "line": 692,
                  "column": 14
                }
              },
              "name": "prototype"
            },
            "computed": false
          },
          "property": {
            "type": "Identifier",
            "start": 26888,
            "end": 26897,
            "loc": {
              "start": {
                "line": 692,
                "column": 15
              },
              "end": {
                "line": 692,
                "column": 24
              }
            },
            "name": "thickness"
          },
          "computed": false
        },
        "right": {
          "type": "Literal",
          "start": 26900,
          "end": 26901,
          "loc": {
            "start": {
              "line": 692,
              "column": 27
            },
            "end": {
              "line": 692,
              "column": 28
            }
          },
          "value": 5,
          "rawValue": 5,
          "raw": "5"
        }
      }
    },
    {
      "type": "ExpressionStatement",
      "start": 26903,
      "end": 26931,
      "loc": {
        "start": {
          "line": 693,
          "column": 0
        },
        "end": {
          "line": 693,
          "column": 28
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 26903,
        "end": 26930,
        "loc": {
          "start": {
            "line": 693,
            "column": 0
          },
          "end": {
            "line": 693,
            "column": 27
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 26903,
          "end": 26926,
          "loc": {
            "start": {
              "line": 693,
              "column": 0
            },
            "end": {
              "line": 693,
              "column": 23
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 26903,
            "end": 26916,
            "loc": {
              "start": {
                "line": 693,
                "column": 0
              },
              "end": {
                "line": 693,
                "column": 13
              }
            },
            "object": {
              "type": "Identifier",
              "start": 26903,
              "end": 26906,
              "loc": {
                "start": {
                  "line": 693,
                  "column": 0
                },
                "end": {
                  "line": 693,
                  "column": 3
                }
              },
              "name": "Arc"
            },
            "property": {
              "type": "Identifier",
              "start": 26907,
              "end": 26916,
              "loc": {
                "start": {
                  "line": 693,
                  "column": 4
                },
                "end": {
                  "line": 693,
                  "column": 13
                }
              },
              "name": "prototype"
            },
            "computed": false
          },
          "property": {
            "type": "Identifier",
            "start": 26917,
            "end": 26926,
            "loc": {
              "start": {
                "line": 693,
                "column": 14
              },
              "end": {
                "line": 693,
                "column": 23
              }
            },
            "name": "thickness"
          },
          "computed": false
        },
        "right": {
          "type": "Literal",
          "start": 26929,
          "end": 26930,
          "loc": {
            "start": {
              "line": 693,
              "column": 26
            },
            "end": {
              "line": 693,
              "column": 27
            }
          },
          "value": 5,
          "rawValue": 5,
          "raw": "5"
        }
      }
    },
    {
      "type": "ExpressionStatement",
      "start": 26932,
      "end": 26972,
      "loc": {
        "start": {
          "line": 694,
          "column": 0
        },
        "end": {
          "line": 694,
          "column": 40
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 26932,
        "end": 26971,
        "loc": {
          "start": {
            "line": 694,
            "column": 0
          },
          "end": {
            "line": 694,
            "column": 39
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 26932,
          "end": 26950,
          "loc": {
            "start": {
              "line": 694,
              "column": 0
            },
            "end": {
              "line": 694,
              "column": 18
            }
          },
          "object": {
            "type": "Identifier",
            "start": 26932,
            "end": 26937,
            "loc": {
              "start": {
                "line": 694,
                "column": 0
              },
              "end": {
                "line": 694,
                "column": 5
              }
            },
            "name": "Point"
          },
          "property": {
            "type": "Identifier",
            "start": 26938,
            "end": 26950,
            "loc": {
              "start": {
                "line": 694,
                "column": 6
              },
              "end": {
                "line": 694,
                "column": 18
              }
            },
            "name": "defaultScale"
          },
          "computed": false
        },
        "right": {
          "type": "Literal",
          "start": 26953,
          "end": 26971,
          "loc": {
            "start": {
              "line": 694,
              "column": 21
            },
            "end": {
              "line": 694,
              "column": 39
            }
          },
          "value": 3.2229586226371154,
          "rawValue": 3.2229586226371154,
          "raw": "3.2229586226371154"
        }
      }
    }
  ]
}