{
  "type": "Program",
  "start": 0,
  "end": 7922,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 211,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [
    {
      "type": "ImportDeclaration",
      "start": 0,
      "end": 54,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 54
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 8,
          "end": 13,
          "loc": {
            "start": {
              "line": 1,
              "column": 8
            },
            "end": {
              "line": 1,
              "column": 13
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 8,
            "end": 13,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 13
              }
            },
            "name": "Point"
          },
          "local": {
            "type": "Identifier",
            "start": 8,
            "end": 13,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 13
              }
            },
            "name": "Point"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 15,
          "end": 19,
          "loc": {
            "start": {
              "line": 1,
              "column": 15
            },
            "end": {
              "line": 1,
              "column": 19
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 15,
            "end": 19,
            "loc": {
              "start": {
                "line": 1,
                "column": 15
              },
              "end": {
                "line": 1,
                "column": 19
              }
            },
            "name": "Line"
          },
          "local": {
            "type": "Identifier",
            "start": 15,
            "end": 19,
            "loc": {
              "start": {
                "line": 1,
                "column": 15
              },
              "end": {
                "line": 1,
                "column": 19
              }
            },
            "name": "Line"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 21,
          "end": 24,
          "loc": {
            "start": {
              "line": 1,
              "column": 21
            },
            "end": {
              "line": 1,
              "column": 24
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 21,
            "end": 24,
            "loc": {
              "start": {
                "line": 1,
                "column": 21
              },
              "end": {
                "line": 1,
                "column": 24
              }
            },
            "name": "Arc"
          },
          "local": {
            "type": "Identifier",
            "start": 21,
            "end": 24,
            "loc": {
              "start": {
                "line": 1,
                "column": 21
              },
              "end": {
                "line": 1,
                "column": 24
              }
            },
            "name": "Arc"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 31,
        "end": 53,
        "loc": {
          "start": {
            "line": 1,
            "column": 31
          },
          "end": {
            "line": 1,
            "column": 53
          }
        },
        "value": "sketcher/geomobjects",
        "rawValue": "sketcher/geomobjects",
        "raw": "'sketcher/geomobjects'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 55,
      "end": 81,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 26
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 62,
          "end": 67,
          "loc": {
            "start": {
              "line": 2,
              "column": 7
            },
            "end": {
              "line": 2,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 62,
            "end": 67,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 12
              }
            },
            "name": "THREE"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 73,
        "end": 80,
        "loc": {
          "start": {
            "line": 2,
            "column": 18
          },
          "end": {
            "line": 2,
            "column": 25
          }
        },
        "value": "three",
        "rawValue": "three",
        "raw": "'three'"
      }
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 83,
      "end": 910,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 21,
          "column": 1
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 90,
        "end": 910,
        "loc": {
          "start": {
            "line": 4,
            "column": 7
          },
          "end": {
            "line": 21,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 99,
          "end": 114,
          "loc": {
            "start": {
              "line": 4,
              "column": 16
            },
            "end": {
              "line": 4,
              "column": 31
            }
          },
          "name": "drawArcBy_S_T_E"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 115,
            "end": 123,
            "loc": {
              "start": {
                "line": 4,
                "column": 32
              },
              "end": {
                "line": 4,
                "column": 40
              }
            },
            "name": "startPos"
          },
          {
            "type": "Identifier",
            "start": 125,
            "end": 137,
            "loc": {
              "start": {
                "line": 4,
                "column": 42
              },
              "end": {
                "line": 4,
                "column": 54
              }
            },
            "name": "startTangent"
          },
          {
            "type": "Identifier",
            "start": 139,
            "end": 145,
            "loc": {
              "start": {
                "line": 4,
                "column": 56
              },
              "end": {
                "line": 4,
                "column": 62
              }
            },
            "name": "endPos"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 147,
          "end": 910,
          "loc": {
            "start": {
              "line": 4,
              "column": 64
            },
            "end": {
              "line": 21,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 193,
              "end": 232,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 4
                },
                "end": {
                  "line": 6,
                  "column": 43
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 197,
                  "end": 231,
                  "loc": {
                    "start": {
                      "line": 6,
                      "column": 8
                    },
                    "end": {
                      "line": 6,
                      "column": 42
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 197,
                    "end": 200,
                    "loc": {
                      "start": {
                        "line": 6,
                        "column": 8
                      },
                      "end": {
                        "line": 6,
                        "column": 11
                      }
                    },
                    "name": "dir",
                    "leadingComments": null
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 203,
                    "end": 231,
                    "loc": {
                      "start": {
                        "line": 6,
                        "column": 14
                      },
                      "end": {
                        "line": 6,
                        "column": 42
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 203,
                      "end": 221,
                      "loc": {
                        "start": {
                          "line": 6,
                          "column": 14
                        },
                        "end": {
                          "line": 6,
                          "column": 32
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 203,
                        "end": 217,
                        "loc": {
                          "start": {
                            "line": 6,
                            "column": 14
                          },
                          "end": {
                            "line": 6,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 203,
                          "end": 215,
                          "loc": {
                            "start": {
                              "line": 6,
                              "column": 14
                            },
                            "end": {
                              "line": 6,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 203,
                            "end": 209,
                            "loc": {
                              "start": {
                                "line": 6,
                                "column": 14
                              },
                              "end": {
                                "line": 6,
                                "column": 20
                              }
                            },
                            "name": "endPos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 210,
                            "end": 215,
                            "loc": {
                              "start": {
                                "line": 6,
                                "column": 21
                              },
                              "end": {
                                "line": 6,
                                "column": 26
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 218,
                        "end": 221,
                        "loc": {
                          "start": {
                            "line": 6,
                            "column": 29
                          },
                          "end": {
                            "line": 6,
                            "column": 32
                          }
                        },
                        "name": "sub"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 222,
                        "end": 230,
                        "loc": {
                          "start": {
                            "line": 6,
                            "column": 33
                          },
                          "end": {
                            "line": 6,
                            "column": 41
                          }
                        },
                        "name": "startPos"
                      }
                    ]
                  },
                  "leadingComments": null
                }
              ],
              "kind": "var",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "should we create a line or an arc",
                  "start": 153,
                  "end": 188,
                  "loc": {
                    "start": {
                      "line": 5,
                      "column": 4
                    },
                    "end": {
                      "line": 5,
                      "column": 39
                    }
                  },
                  "range": [
                    153,
                    188
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 237,
              "end": 314,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 4
                },
                "end": {
                  "line": 7,
                  "column": 81
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 241,
                  "end": 313,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 8
                    },
                    "end": {
                      "line": 7,
                      "column": 80
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 241,
                    "end": 247,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 8
                      },
                      "end": {
                        "line": 7,
                        "column": 14
                      }
                    },
                    "name": "onLine"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 250,
                    "end": 313,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 17
                      },
                      "end": {
                        "line": 7,
                        "column": 80
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 250,
                      "end": 270,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 17
                        },
                        "end": {
                          "line": 7,
                          "column": 37
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 250,
                        "end": 266,
                        "loc": {
                          "start": {
                            "line": 7,
                            "column": 17
                          },
                          "end": {
                            "line": 7,
                            "column": 33
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 250,
                          "end": 264,
                          "loc": {
                            "start": {
                              "line": 7,
                              "column": 17
                            },
                            "end": {
                              "line": 7,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 250,
                            "end": 258,
                            "loc": {
                              "start": {
                                "line": 7,
                                "column": 17
                              },
                              "end": {
                                "line": 7,
                                "column": 25
                              }
                            },
                            "name": "startPos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 259,
                            "end": 264,
                            "loc": {
                              "start": {
                                "line": 7,
                                "column": 26
                              },
                              "end": {
                                "line": 7,
                                "column": 31
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 267,
                        "end": 270,
                        "loc": {
                          "start": {
                            "line": 7,
                            "column": 34
                          },
                          "end": {
                            "line": 7,
                            "column": 37
                          }
                        },
                        "name": "add"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "CallExpression",
                        "start": 271,
                        "end": 312,
                        "loc": {
                          "start": {
                            "line": 7,
                            "column": 38
                          },
                          "end": {
                            "line": 7,
                            "column": 79
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 271,
                          "end": 298,
                          "loc": {
                            "start": {
                              "line": 7,
                              "column": 38
                            },
                            "end": {
                              "line": 7,
                              "column": 65
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 271,
                            "end": 282,
                            "loc": {
                              "start": {
                                "line": 7,
                                "column": 38
                              },
                              "end": {
                                "line": 7,
                                "column": 49
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 271,
                              "end": 280,
                              "loc": {
                                "start": {
                                  "line": 7,
                                  "column": 38
                                },
                                "end": {
                                  "line": 7,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 271,
                                "end": 274,
                                "loc": {
                                  "start": {
                                    "line": 7,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 7,
                                    "column": 41
                                  }
                                },
                                "name": "dir"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 275,
                                "end": 280,
                                "loc": {
                                  "start": {
                                    "line": 7,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 7,
                                    "column": 47
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 283,
                            "end": 298,
                            "loc": {
                              "start": {
                                "line": 7,
                                "column": 50
                              },
                              "end": {
                                "line": 7,
                                "column": 65
                              }
                            },
                            "name": "projectOnVector"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 299,
                            "end": 311,
                            "loc": {
                              "start": {
                                "line": 7,
                                "column": 66
                              },
                              "end": {
                                "line": 7,
                                "column": 78
                              }
                            },
                            "name": "startTangent"
                          }
                        ]
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 319,
              "end": 358,
              "loc": {
                "start": {
                  "line": 8,
                  "column": 4
                },
                "end": {
                  "line": 8,
                  "column": 43
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 323,
                  "end": 357,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 8
                    },
                    "end": {
                      "line": 8,
                      "column": 42
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 323,
                    "end": 329,
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 8
                      },
                      "end": {
                        "line": 8,
                        "column": 14
                      }
                    },
                    "name": "height"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 332,
                    "end": 357,
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 17
                      },
                      "end": {
                        "line": 8,
                        "column": 42
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 332,
                      "end": 349,
                      "loc": {
                        "start": {
                          "line": 8,
                          "column": 17
                        },
                        "end": {
                          "line": 8,
                          "column": 34
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 332,
                        "end": 338,
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 17
                          },
                          "end": {
                            "line": 8,
                            "column": 23
                          }
                        },
                        "name": "onLine"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 339,
                        "end": 349,
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 24
                          },
                          "end": {
                            "line": 8,
                            "column": 34
                          }
                        },
                        "name": "distanceTo"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 350,
                        "end": 356,
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 35
                          },
                          "end": {
                            "line": 8,
                            "column": 41
                          }
                        },
                        "name": "endPos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 363,
              "end": 417,
              "loc": {
                "start": {
                  "line": 9,
                  "column": 4
                },
                "end": {
                  "line": 9,
                  "column": 58
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 367,
                  "end": 416,
                  "loc": {
                    "start": {
                      "line": 9,
                      "column": 8
                    },
                    "end": {
                      "line": 9,
                      "column": 57
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 367,
                    "end": 375,
                    "loc": {
                      "start": {
                        "line": 9,
                        "column": 8
                      },
                      "end": {
                        "line": 9,
                        "column": 16
                      }
                    },
                    "name": "isLinear"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 379,
                    "end": 415,
                    "loc": {
                      "start": {
                        "line": 9,
                        "column": 20
                      },
                      "end": {
                        "line": 9,
                        "column": 56
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 379,
                      "end": 385,
                      "loc": {
                        "start": {
                          "line": 9,
                          "column": 20
                        },
                        "end": {
                          "line": 9,
                          "column": 26
                        }
                      },
                      "name": "height"
                    },
                    "operator": "<=",
                    "right": {
                      "type": "BinaryExpression",
                      "start": 389,
                      "end": 415,
                      "loc": {
                        "start": {
                          "line": 9,
                          "column": 30
                        },
                        "end": {
                          "line": 9,
                          "column": 56
                        }
                      },
                      "left": {
                        "type": "BinaryExpression",
                        "start": 389,
                        "end": 408,
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 30
                          },
                          "end": {
                            "line": 9,
                            "column": 49
                          }
                        },
                        "left": {
                          "type": "CallExpression",
                          "start": 389,
                          "end": 401,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 30
                            },
                            "end": {
                              "line": 9,
                              "column": 42
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 389,
                            "end": 399,
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 30
                              },
                              "end": {
                                "line": 9,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 389,
                              "end": 392,
                              "loc": {
                                "start": {
                                  "line": 9,
                                  "column": 30
                                },
                                "end": {
                                  "line": 9,
                                  "column": 33
                                }
                              },
                              "name": "dir"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 393,
                              "end": 399,
                              "loc": {
                                "start": {
                                  "line": 9,
                                  "column": 34
                                },
                                "end": {
                                  "line": 9,
                                  "column": 40
                                }
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "operator": "*",
                        "right": {
                          "type": "Literal",
                          "start": 404,
                          "end": 408,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 45
                            },
                            "end": {
                              "line": 9,
                              "column": 49
                            }
                          },
                          "value": 0.001,
                          "rawValue": 0.001,
                          "raw": "1e-3"
                        }
                      },
                      "operator": "+",
                      "right": {
                        "type": "Literal",
                        "start": 411,
                        "end": 415,
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 52
                          },
                          "end": {
                            "line": 9,
                            "column": 56
                          }
                        },
                        "value": 0.001,
                        "rawValue": 0.001,
                        "raw": "1e-3"
                      }
                    },
                    "parenthesizedExpression": true
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "IfStatement",
              "start": 423,
              "end": 908,
              "loc": {
                "start": {
                  "line": 11,
                  "column": 4
                },
                "end": {
                  "line": 20,
                  "column": 5
                }
              },
              "test": {
                "type": "Identifier",
                "start": 427,
                "end": 435,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 8
                  },
                  "end": {
                    "line": 11,
                    "column": 16
                  }
                },
                "name": "isLinear"
              },
              "consequent": {
                "type": "ReturnStatement",
                "start": 445,
                "end": 483,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 8
                  },
                  "end": {
                    "line": 12,
                    "column": 46
                  }
                },
                "argument": {
                  "type": "ObjectExpression",
                  "start": 452,
                  "end": 482,
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 15
                    },
                    "end": {
                      "line": 12,
                      "column": 45
                    }
                  },
                  "properties": [
                    {
                      "type": "Property",
                      "start": 453,
                      "end": 468,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 16
                        },
                        "end": {
                          "line": 12,
                          "column": 31
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 453,
                        "end": 458,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 16
                          },
                          "end": {
                            "line": 12,
                            "column": 21
                          }
                        },
                        "name": "start"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 460,
                        "end": 468,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 23
                          },
                          "end": {
                            "line": 12,
                            "column": 31
                          }
                        },
                        "name": "startPos"
                      },
                      "kind": "init"
                    },
                    {
                      "type": "Property",
                      "start": 470,
                      "end": 481,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 33
                        },
                        "end": {
                          "line": 12,
                          "column": 44
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 470,
                        "end": 473,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 33
                          },
                          "end": {
                            "line": 12,
                            "column": 36
                          }
                        },
                        "name": "end"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 475,
                        "end": 481,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 38
                          },
                          "end": {
                            "line": 12,
                            "column": 44
                          }
                        },
                        "name": "endPos"
                      },
                      "kind": "init"
                    }
                  ]
                }
              },
              "alternate": {
                "type": "BlockStatement",
                "start": 493,
                "end": 908,
                "loc": {
                  "start": {
                    "line": 13,
                    "column": 9
                  },
                  "end": {
                    "line": 20,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 567,
                    "end": 619,
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 8
                      },
                      "end": {
                        "line": 15,
                        "column": 60
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 571,
                        "end": 618,
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 12
                          },
                          "end": {
                            "line": 15,
                            "column": 59
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 571,
                          "end": 577,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 12
                            },
                            "end": {
                              "line": 15,
                              "column": 18
                            }
                          },
                          "name": "normal",
                          "leadingComments": null
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 580,
                          "end": 618,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 21
                            },
                            "end": {
                              "line": 15,
                              "column": 59
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 580,
                            "end": 616,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 21
                              },
                              "end": {
                                "line": 15,
                                "column": 57
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 580,
                              "end": 606,
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 21
                                },
                                "end": {
                                  "line": 15,
                                  "column": 47
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 580,
                                "end": 598,
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "CallExpression",
                                  "start": 580,
                                  "end": 594,
                                  "loc": {
                                    "start": {
                                      "line": 15,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 15,
                                      "column": 35
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 580,
                                    "end": 592,
                                    "loc": {
                                      "start": {
                                        "line": 15,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 15,
                                        "column": 33
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 580,
                                      "end": 586,
                                      "loc": {
                                        "start": {
                                          "line": 15,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 15,
                                          "column": 27
                                        }
                                      },
                                      "name": "endPos"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 587,
                                      "end": 592,
                                      "loc": {
                                        "start": {
                                          "line": 15,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 15,
                                          "column": 33
                                        }
                                      },
                                      "name": "clone"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 595,
                                  "end": 598,
                                  "loc": {
                                    "start": {
                                      "line": 15,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 15,
                                      "column": 39
                                    }
                                  },
                                  "name": "sub"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 599,
                                  "end": 605,
                                  "loc": {
                                    "start": {
                                      "line": 15,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 15,
                                      "column": 46
                                    }
                                  },
                                  "name": "onLine"
                                }
                              ]
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 607,
                              "end": 616,
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 48
                                },
                                "end": {
                                  "line": 15,
                                  "column": 57
                                }
                              },
                              "name": "normalize"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "leadingComments": null
                      }
                    ],
                    "kind": "var",
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": "the ugly math of getting center point and orientation",
                        "start": 503,
                        "end": 558,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 8
                          },
                          "end": {
                            "line": 14,
                            "column": 63
                          }
                        },
                        "range": [
                          503,
                          558
                        ]
                      }
                    ]
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 628,
                    "end": 689,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 8
                      },
                      "end": {
                        "line": 16,
                        "column": 69
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 632,
                        "end": 688,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 12
                          },
                          "end": {
                            "line": 16,
                            "column": 68
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 632,
                          "end": 636,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 12
                            },
                            "end": {
                              "line": 16,
                              "column": 16
                            }
                          },
                          "name": "dist"
                        },
                        "init": {
                          "type": "BinaryExpression",
                          "start": 639,
                          "end": 688,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 19
                            },
                            "end": {
                              "line": 16,
                              "column": 68
                            }
                          },
                          "left": {
                            "type": "CallExpression",
                            "start": 639,
                            "end": 673,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 19
                              },
                              "end": {
                                "line": 16,
                                "column": 53
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 639,
                              "end": 663,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 19
                                },
                                "end": {
                                  "line": 16,
                                  "column": 43
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 639,
                                "end": 645,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 25
                                  }
                                },
                                "name": "endPos"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 646,
                                "end": 663,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 43
                                  }
                                },
                                "name": "distanceToSquared"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 664,
                                "end": 672,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 52
                                  }
                                },
                                "name": "startPos"
                              }
                            ]
                          },
                          "operator": "/",
                          "right": {
                            "type": "BinaryExpression",
                            "start": 677,
                            "end": 687,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 57
                              },
                              "end": {
                                "line": 16,
                                "column": 67
                              }
                            },
                            "left": {
                              "type": "Literal",
                              "start": 677,
                              "end": 678,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 57
                                },
                                "end": {
                                  "line": 16,
                                  "column": 58
                                }
                              },
                              "value": 2,
                              "rawValue": 2,
                              "raw": "2"
                            },
                            "operator": "*",
                            "right": {
                              "type": "Identifier",
                              "start": 681,
                              "end": 687,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 61
                                },
                                "end": {
                                  "line": 16,
                                  "column": 67
                                }
                              },
                              "name": "height"
                            },
                            "parenthesizedExpression": true
                          }
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 698,
                    "end": 747,
                    "loc": {
                      "start": {
                        "line": 17,
                        "column": 8
                      },
                      "end": {
                        "line": 17,
                        "column": 57
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 702,
                        "end": 746,
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 12
                          },
                          "end": {
                            "line": 17,
                            "column": 56
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 702,
                          "end": 707,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 12
                            },
                            "end": {
                              "line": 17,
                              "column": 17
                            }
                          },
                          "name": "cross"
                        },
                        "init": {
                          "type": "MemberExpression",
                          "start": 710,
                          "end": 746,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 20
                            },
                            "end": {
                              "line": 17,
                              "column": 56
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 710,
                            "end": 744,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 20
                              },
                              "end": {
                                "line": 17,
                                "column": 54
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 710,
                              "end": 730,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 20
                                },
                                "end": {
                                  "line": 17,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 710,
                                "end": 724,
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 34
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 710,
                                  "end": 722,
                                  "loc": {
                                    "start": {
                                      "line": 17,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 17,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 710,
                                    "end": 716,
                                    "loc": {
                                      "start": {
                                        "line": 17,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 17,
                                        "column": 26
                                      }
                                    },
                                    "name": "normal"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 717,
                                    "end": 722,
                                    "loc": {
                                      "start": {
                                        "line": 17,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 17,
                                        "column": 32
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 725,
                                "end": 730,
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 40
                                  }
                                },
                                "name": "cross"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 731,
                                "end": 743,
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 53
                                  }
                                },
                                "name": "startTangent"
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 745,
                            "end": 746,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 55
                              },
                              "end": {
                                "line": 17,
                                "column": 56
                              }
                            },
                            "name": "z"
                          },
                          "computed": false
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 756,
                    "end": 816,
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 8
                      },
                      "end": {
                        "line": 18,
                        "column": 68
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 760,
                        "end": 815,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 12
                          },
                          "end": {
                            "line": 18,
                            "column": 67
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 760,
                          "end": 763,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 12
                            },
                            "end": {
                              "line": 18,
                              "column": 15
                            }
                          },
                          "name": "ctr"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 766,
                          "end": 815,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 18
                            },
                            "end": {
                              "line": 18,
                              "column": 67
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 766,
                            "end": 805,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 18
                              },
                              "end": {
                                "line": 18,
                                "column": 57
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 766,
                              "end": 801,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 18
                                },
                                "end": {
                                  "line": 18,
                                  "column": 53
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 766,
                                "end": 795,
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "CallExpression",
                                  "start": 766,
                                  "end": 780,
                                  "loc": {
                                    "start": {
                                      "line": 18,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 18,
                                      "column": 32
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 766,
                                    "end": 778,
                                    "loc": {
                                      "start": {
                                        "line": 18,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 18,
                                        "column": 30
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 766,
                                      "end": 772,
                                      "loc": {
                                        "start": {
                                          "line": 18,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 18,
                                          "column": 24
                                        }
                                      },
                                      "name": "normal"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 773,
                                      "end": 778,
                                      "loc": {
                                        "start": {
                                          "line": 18,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 18,
                                          "column": 30
                                        }
                                      },
                                      "name": "clone"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 781,
                                  "end": 795,
                                  "loc": {
                                    "start": {
                                      "line": 18,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 18,
                                      "column": 47
                                    }
                                  },
                                  "name": "multiplyScalar"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 796,
                                  "end": 800,
                                  "loc": {
                                    "start": {
                                      "line": 18,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 18,
                                      "column": 52
                                    }
                                  },
                                  "name": "dist"
                                }
                              ]
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 802,
                              "end": 805,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 54
                                },
                                "end": {
                                  "line": 18,
                                  "column": 57
                                }
                              },
                              "name": "add"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 806,
                              "end": 814,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 58
                                },
                                "end": {
                                  "line": 18,
                                  "column": 66
                                }
                              },
                              "name": "startPos"
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 825,
                    "end": 902,
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 8
                      },
                      "end": {
                        "line": 19,
                        "column": 85
                      }
                    },
                    "argument": {
                      "type": "ObjectExpression",
                      "start": 832,
                      "end": 901,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 15
                        },
                        "end": {
                          "line": 19,
                          "column": 84
                        }
                      },
                      "properties": [
                        {
                          "type": "Property",
                          "start": 833,
                          "end": 848,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 16
                            },
                            "end": {
                              "line": 19,
                              "column": 31
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 833,
                            "end": 838,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 16
                              },
                              "end": {
                                "line": 19,
                                "column": 21
                              }
                            },
                            "name": "start"
                          },
                          "value": {
                            "type": "Identifier",
                            "start": 840,
                            "end": 848,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 23
                              },
                              "end": {
                                "line": 19,
                                "column": 31
                              }
                            },
                            "name": "startPos"
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 850,
                          "end": 861,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 33
                            },
                            "end": {
                              "line": 19,
                              "column": 44
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 850,
                            "end": 853,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 33
                              },
                              "end": {
                                "line": 19,
                                "column": 36
                              }
                            },
                            "name": "end"
                          },
                          "value": {
                            "type": "Identifier",
                            "start": 855,
                            "end": 861,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 38
                              },
                              "end": {
                                "line": 19,
                                "column": 44
                              }
                            },
                            "name": "endPos"
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 863,
                          "end": 874,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 46
                            },
                            "end": {
                              "line": 19,
                              "column": 57
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 863,
                            "end": 869,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 46
                              },
                              "end": {
                                "line": 19,
                                "column": 52
                              }
                            },
                            "name": "center"
                          },
                          "value": {
                            "type": "Identifier",
                            "start": 871,
                            "end": 874,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 54
                              },
                              "end": {
                                "line": 19,
                                "column": 57
                              }
                            },
                            "name": "ctr"
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 876,
                          "end": 900,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 59
                            },
                            "end": {
                              "line": 19,
                              "column": 83
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 876,
                            "end": 885,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 59
                              },
                              "end": {
                                "line": 19,
                                "column": 68
                              }
                            },
                            "name": "clockwise"
                          },
                          "value": {
                            "type": "BinaryExpression",
                            "start": 888,
                            "end": 899,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 71
                              },
                              "end": {
                                "line": 19,
                                "column": 82
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 888,
                              "end": 893,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 71
                                },
                                "end": {
                                  "line": 19,
                                  "column": 76
                                }
                              },
                              "name": "cross"
                            },
                            "operator": ">",
                            "right": {
                              "type": "Literal",
                              "start": 896,
                              "end": 899,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 79
                                },
                                "end": {
                                  "line": 19,
                                  "column": 82
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0.0"
                            },
                            "parenthesizedExpression": true
                          },
                          "kind": "init"
                        }
                      ]
                    }
                  }
                ]
              }
            }
          ],
          "trailingComments": null
        },
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": "Note: position of center is only partly used and may change",
            "start": 912,
            "end": 973,
            "loc": {
              "start": {
                "line": 23,
                "column": 0
              },
              "end": {
                "line": 23,
                "column": 61
              }
            },
            "range": [
              912,
              973
            ]
          }
        ],
        "leadingComments": []
      },
      "specifiers": [],
      "source": null,
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": "Note: position of center is only partly used and may change",
          "start": 912,
          "end": 973,
          "loc": {
            "start": {
              "line": 23,
              "column": 0
            },
            "end": {
              "line": 23,
              "column": 61
            }
          },
          "range": [
            912,
            973
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 974,
      "end": 1490,
      "loc": {
        "start": {
          "line": 24,
          "column": 0
        },
        "end": {
          "line": 33,
          "column": 1
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 981,
        "end": 1490,
        "loc": {
          "start": {
            "line": 24,
            "column": 7
          },
          "end": {
            "line": 33,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 990,
          "end": 1006,
          "loc": {
            "start": {
              "line": 24,
              "column": 16
            },
            "end": {
              "line": 24,
              "column": 32
            }
          },
          "name": "drawArcBy_S_E_Ch",
          "leadingComments": null
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 1007,
            "end": 1015,
            "loc": {
              "start": {
                "line": 24,
                "column": 33
              },
              "end": {
                "line": 24,
                "column": 41
              }
            },
            "name": "startPos"
          },
          {
            "type": "Identifier",
            "start": 1017,
            "end": 1023,
            "loc": {
              "start": {
                "line": 24,
                "column": 43
              },
              "end": {
                "line": 24,
                "column": 49
              }
            },
            "name": "endPos"
          },
          {
            "type": "Identifier",
            "start": 1025,
            "end": 1038,
            "loc": {
              "start": {
                "line": 24,
                "column": 51
              },
              "end": {
                "line": 24,
                "column": 64
              }
            },
            "name": "centerPosHint"
          },
          {
            "type": "Identifier",
            "start": 1040,
            "end": 1050,
            "loc": {
              "start": {
                "line": 24,
                "column": 66
              },
              "end": {
                "line": 24,
                "column": 76
              }
            },
            "name": "takeLarger"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 1052,
          "end": 1490,
          "loc": {
            "start": {
              "line": 24,
              "column": 78
            },
            "end": {
              "line": 33,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 1058,
              "end": 1113,
              "loc": {
                "start": {
                  "line": 25,
                  "column": 4
                },
                "end": {
                  "line": 25,
                  "column": 59
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1062,
                  "end": 1112,
                  "loc": {
                    "start": {
                      "line": 25,
                      "column": 8
                    },
                    "end": {
                      "line": 25,
                      "column": 58
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1062,
                    "end": 1065,
                    "loc": {
                      "start": {
                        "line": 25,
                        "column": 8
                      },
                      "end": {
                        "line": 25,
                        "column": 11
                      }
                    },
                    "name": "mid"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1068,
                    "end": 1112,
                    "loc": {
                      "start": {
                        "line": 25,
                        "column": 14
                      },
                      "end": {
                        "line": 25,
                        "column": 58
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1068,
                      "end": 1109,
                      "loc": {
                        "start": {
                          "line": 25,
                          "column": 14
                        },
                        "end": {
                          "line": 25,
                          "column": 55
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 1068,
                        "end": 1096,
                        "loc": {
                          "start": {
                            "line": 25,
                            "column": 14
                          },
                          "end": {
                            "line": 25,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1068,
                          "end": 1086,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 14
                            },
                            "end": {
                              "line": 25,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 1068,
                            "end": 1082,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 14
                              },
                              "end": {
                                "line": 25,
                                "column": 28
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1068,
                              "end": 1080,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 14
                                },
                                "end": {
                                  "line": 25,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1068,
                                "end": 1074,
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 20
                                  }
                                },
                                "name": "endPos"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1075,
                                "end": 1080,
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 26
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1083,
                            "end": 1086,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 29
                              },
                              "end": {
                                "line": 25,
                                "column": 32
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1087,
                            "end": 1095,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 33
                              },
                              "end": {
                                "line": 25,
                                "column": 41
                              }
                            },
                            "name": "startPos"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1097,
                        "end": 1109,
                        "loc": {
                          "start": {
                            "line": 25,
                            "column": 43
                          },
                          "end": {
                            "line": 25,
                            "column": 55
                          }
                        },
                        "name": "divideScalar"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Literal",
                        "start": 1110,
                        "end": 1111,
                        "loc": {
                          "start": {
                            "line": 25,
                            "column": 56
                          },
                          "end": {
                            "line": 25,
                            "column": 57
                          }
                        },
                        "value": 2,
                        "rawValue": 2,
                        "raw": "2"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1118,
              "end": 1157,
              "loc": {
                "start": {
                  "line": 26,
                  "column": 4
                },
                "end": {
                  "line": 26,
                  "column": 43
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1122,
                  "end": 1156,
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 8
                    },
                    "end": {
                      "line": 26,
                      "column": 42
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1122,
                    "end": 1125,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 8
                      },
                      "end": {
                        "line": 26,
                        "column": 11
                      }
                    },
                    "name": "dir"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1128,
                    "end": 1156,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 14
                      },
                      "end": {
                        "line": 26,
                        "column": 42
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1128,
                      "end": 1146,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 14
                        },
                        "end": {
                          "line": 26,
                          "column": 32
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 1128,
                        "end": 1142,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 14
                          },
                          "end": {
                            "line": 26,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1128,
                          "end": 1140,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 14
                            },
                            "end": {
                              "line": 26,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1128,
                            "end": 1134,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 14
                              },
                              "end": {
                                "line": 26,
                                "column": 20
                              }
                            },
                            "name": "endPos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1135,
                            "end": 1140,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 21
                              },
                              "end": {
                                "line": 26,
                                "column": 26
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1143,
                        "end": 1146,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 29
                          },
                          "end": {
                            "line": 26,
                            "column": 32
                          }
                        },
                        "name": "sub"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 1147,
                        "end": 1155,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 33
                          },
                          "end": {
                            "line": 26,
                            "column": 41
                          }
                        },
                        "name": "startPos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1162,
              "end": 1210,
              "loc": {
                "start": {
                  "line": 27,
                  "column": 4
                },
                "end": {
                  "line": 27,
                  "column": 52
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1166,
                  "end": 1209,
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 8
                    },
                    "end": {
                      "line": 27,
                      "column": 51
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1166,
                    "end": 1169,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 8
                      },
                      "end": {
                        "line": 27,
                        "column": 11
                      }
                    },
                    "name": "per"
                  },
                  "init": {
                    "type": "NewExpression",
                    "start": 1172,
                    "end": 1209,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 14
                      },
                      "end": {
                        "line": 27,
                        "column": 51
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1176,
                      "end": 1189,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 18
                        },
                        "end": {
                          "line": 27,
                          "column": 31
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 1176,
                        "end": 1181,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 18
                          },
                          "end": {
                            "line": 27,
                            "column": 23
                          }
                        },
                        "name": "THREE"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1182,
                        "end": 1189,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 24
                          },
                          "end": {
                            "line": 27,
                            "column": 31
                          }
                        },
                        "name": "Vector3"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "UnaryExpression",
                        "start": 1190,
                        "end": 1196,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 32
                          },
                          "end": {
                            "line": 27,
                            "column": 38
                          }
                        },
                        "operator": "-",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 1191,
                          "end": 1196,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 33
                            },
                            "end": {
                              "line": 27,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1191,
                            "end": 1194,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 33
                              },
                              "end": {
                                "line": 27,
                                "column": 36
                              }
                            },
                            "name": "dir"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1195,
                            "end": 1196,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 37
                              },
                              "end": {
                                "line": 27,
                                "column": 38
                              }
                            },
                            "name": "y"
                          },
                          "computed": false
                        }
                      },
                      {
                        "type": "MemberExpression",
                        "start": 1198,
                        "end": 1203,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 40
                          },
                          "end": {
                            "line": 27,
                            "column": 45
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1198,
                          "end": 1201,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 40
                            },
                            "end": {
                              "line": 27,
                              "column": 43
                            }
                          },
                          "name": "dir"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1202,
                          "end": 1203,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 44
                            },
                            "end": {
                              "line": 27,
                              "column": 45
                            }
                          },
                          "name": "x"
                        },
                        "computed": false
                      },
                      {
                        "type": "Literal",
                        "start": 1205,
                        "end": 1208,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 47
                          },
                          "end": {
                            "line": 27,
                            "column": 50
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0.0"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1215,
              "end": 1262,
              "loc": {
                "start": {
                  "line": 28,
                  "column": 4
                },
                "end": {
                  "line": 28,
                  "column": 51
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1219,
                  "end": 1261,
                  "loc": {
                    "start": {
                      "line": 28,
                      "column": 8
                    },
                    "end": {
                      "line": 28,
                      "column": 50
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1219,
                    "end": 1228,
                    "loc": {
                      "start": {
                        "line": 28,
                        "column": 8
                      },
                      "end": {
                        "line": 28,
                        "column": 17
                      }
                    },
                    "name": "dirMidPos"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1231,
                    "end": 1261,
                    "loc": {
                      "start": {
                        "line": 28,
                        "column": 20
                      },
                      "end": {
                        "line": 28,
                        "column": 50
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1231,
                      "end": 1256,
                      "loc": {
                        "start": {
                          "line": 28,
                          "column": 20
                        },
                        "end": {
                          "line": 28,
                          "column": 45
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 1231,
                        "end": 1252,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 20
                          },
                          "end": {
                            "line": 28,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1231,
                          "end": 1250,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 20
                            },
                            "end": {
                              "line": 28,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1231,
                            "end": 1244,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 20
                              },
                              "end": {
                                "line": 28,
                                "column": 33
                              }
                            },
                            "name": "centerPosHint"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1245,
                            "end": 1250,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 34
                              },
                              "end": {
                                "line": 28,
                                "column": 39
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1253,
                        "end": 1256,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 42
                          },
                          "end": {
                            "line": 28,
                            "column": 45
                          }
                        },
                        "name": "sub"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 1257,
                        "end": 1260,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 46
                          },
                          "end": {
                            "line": 28,
                            "column": 49
                          }
                        },
                        "name": "mid"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1267,
              "end": 1325,
              "loc": {
                "start": {
                  "line": 29,
                  "column": 4
                },
                "end": {
                  "line": 29,
                  "column": 62
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1271,
                  "end": 1324,
                  "loc": {
                    "start": {
                      "line": 29,
                      "column": 8
                    },
                    "end": {
                      "line": 29,
                      "column": 61
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1271,
                    "end": 1274,
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 8
                      },
                      "end": {
                        "line": 29,
                        "column": 11
                      }
                    },
                    "name": "ctr"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1277,
                    "end": 1324,
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 14
                      },
                      "end": {
                        "line": 29,
                        "column": 61
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1277,
                      "end": 1319,
                      "loc": {
                        "start": {
                          "line": 29,
                          "column": 14
                        },
                        "end": {
                          "line": 29,
                          "column": 56
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 1277,
                        "end": 1315,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 14
                          },
                          "end": {
                            "line": 29,
                            "column": 52
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1277,
                          "end": 1310,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 14
                            },
                            "end": {
                              "line": 29,
                              "column": 47
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 1277,
                            "end": 1294,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 14
                              },
                              "end": {
                                "line": 29,
                                "column": 31
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1277,
                              "end": 1292,
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 14
                                },
                                "end": {
                                  "line": 29,
                                  "column": 29
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1277,
                                "end": 1286,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 23
                                  }
                                },
                                "name": "dirMidPos"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1287,
                                "end": 1292,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 29
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1295,
                            "end": 1310,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 32
                              },
                              "end": {
                                "line": 29,
                                "column": 47
                              }
                            },
                            "name": "projectOnVector"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1311,
                            "end": 1314,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 48
                              },
                              "end": {
                                "line": 29,
                                "column": 51
                              }
                            },
                            "name": "per"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1316,
                        "end": 1319,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 53
                          },
                          "end": {
                            "line": 29,
                            "column": 56
                          }
                        },
                        "name": "add"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 1320,
                        "end": 1323,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 57
                          },
                          "end": {
                            "line": 29,
                            "column": 60
                          }
                        },
                        "name": "mid"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1330,
              "end": 1359,
              "loc": {
                "start": {
                  "line": 30,
                  "column": 4
                },
                "end": {
                  "line": 30,
                  "column": 33
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1334,
                  "end": 1358,
                  "loc": {
                    "start": {
                      "line": 30,
                      "column": 8
                    },
                    "end": {
                      "line": 30,
                      "column": 32
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1334,
                    "end": 1337,
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 8
                      },
                      "end": {
                        "line": 30,
                        "column": 11
                      }
                    },
                    "name": "dot"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1340,
                    "end": 1358,
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 14
                      },
                      "end": {
                        "line": 30,
                        "column": 32
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1340,
                      "end": 1353,
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 14
                        },
                        "end": {
                          "line": 30,
                          "column": 27
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 1340,
                        "end": 1349,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 14
                          },
                          "end": {
                            "line": 30,
                            "column": 23
                          }
                        },
                        "name": "dirMidPos"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1350,
                        "end": 1353,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 24
                          },
                          "end": {
                            "line": 30,
                            "column": 27
                          }
                        },
                        "name": "dot"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 1354,
                        "end": 1357,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 28
                          },
                          "end": {
                            "line": 30,
                            "column": 31
                          }
                        },
                        "name": "per"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1364,
              "end": 1410,
              "loc": {
                "start": {
                  "line": 31,
                  "column": 4
                },
                "end": {
                  "line": 31,
                  "column": 50
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1368,
                  "end": 1409,
                  "loc": {
                    "start": {
                      "line": 31,
                      "column": 8
                    },
                    "end": {
                      "line": 31,
                      "column": 49
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1368,
                    "end": 1377,
                    "loc": {
                      "start": {
                        "line": 31,
                        "column": 8
                      },
                      "end": {
                        "line": 31,
                        "column": 17
                      }
                    },
                    "name": "clockwise"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 1380,
                    "end": 1409,
                    "loc": {
                      "start": {
                        "line": 31,
                        "column": 20
                      },
                      "end": {
                        "line": 31,
                        "column": 49
                      }
                    },
                    "left": {
                      "type": "BinaryExpression",
                      "start": 1381,
                      "end": 1390,
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 21
                        },
                        "end": {
                          "line": 31,
                          "column": 30
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 1381,
                        "end": 1384,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 21
                          },
                          "end": {
                            "line": 31,
                            "column": 24
                          }
                        },
                        "name": "dot"
                      },
                      "operator": "<",
                      "right": {
                        "type": "Literal",
                        "start": 1387,
                        "end": 1390,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 27
                          },
                          "end": {
                            "line": 31,
                            "column": 30
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0.0"
                      },
                      "parenthesizedExpression": true
                    },
                    "operator": "!=",
                    "right": {
                      "type": "UnaryExpression",
                      "start": 1396,
                      "end": 1408,
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 36
                        },
                        "end": {
                          "line": 31,
                          "column": 48
                        }
                      },
                      "operator": "!",
                      "prefix": true,
                      "argument": {
                        "type": "UnaryExpression",
                        "start": 1397,
                        "end": 1408,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 37
                          },
                          "end": {
                            "line": 31,
                            "column": 48
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 1398,
                          "end": 1408,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 38
                            },
                            "end": {
                              "line": 31,
                              "column": 48
                            }
                          },
                          "name": "takeLarger"
                        }
                      },
                      "parenthesizedExpression": true
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "ReturnStatement",
              "start": 1415,
              "end": 1488,
              "loc": {
                "start": {
                  "line": 32,
                  "column": 4
                },
                "end": {
                  "line": 32,
                  "column": 77
                }
              },
              "argument": {
                "type": "ObjectExpression",
                "start": 1422,
                "end": 1487,
                "loc": {
                  "start": {
                    "line": 32,
                    "column": 11
                  },
                  "end": {
                    "line": 32,
                    "column": 76
                  }
                },
                "properties": [
                  {
                    "type": "Property",
                    "start": 1423,
                    "end": 1438,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 12
                      },
                      "end": {
                        "line": 32,
                        "column": 27
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 1423,
                      "end": 1428,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 12
                        },
                        "end": {
                          "line": 32,
                          "column": 17
                        }
                      },
                      "name": "start"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 1430,
                      "end": 1438,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 19
                        },
                        "end": {
                          "line": 32,
                          "column": 27
                        }
                      },
                      "name": "startPos"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 1440,
                    "end": 1451,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 29
                      },
                      "end": {
                        "line": 32,
                        "column": 40
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 1440,
                      "end": 1443,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 29
                        },
                        "end": {
                          "line": 32,
                          "column": 32
                        }
                      },
                      "name": "end"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 1445,
                      "end": 1451,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 34
                        },
                        "end": {
                          "line": 32,
                          "column": 40
                        }
                      },
                      "name": "endPos"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 1453,
                    "end": 1464,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 42
                      },
                      "end": {
                        "line": 32,
                        "column": 53
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 1453,
                      "end": 1459,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 42
                        },
                        "end": {
                          "line": 32,
                          "column": 48
                        }
                      },
                      "name": "center"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 1461,
                      "end": 1464,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 50
                        },
                        "end": {
                          "line": 32,
                          "column": 53
                        }
                      },
                      "name": "ctr"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 1466,
                    "end": 1486,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 55
                      },
                      "end": {
                        "line": 32,
                        "column": 75
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 1466,
                      "end": 1475,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 55
                        },
                        "end": {
                          "line": 32,
                          "column": 64
                        }
                      },
                      "name": "clockwise"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 1477,
                      "end": 1486,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 66
                        },
                        "end": {
                          "line": 32,
                          "column": 75
                        }
                      },
                      "name": "clockwise"
                    },
                    "kind": "init"
                  }
                ]
              }
            }
          ],
          "trailingComments": null
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": "Note: position of center is only partly used and may change",
            "start": 912,
            "end": 973,
            "loc": {
              "start": {
                "line": 23,
                "column": 0
              },
              "end": {
                "line": 23,
                "column": 61
              }
            },
            "range": [
              912,
              973
            ]
          }
        ],
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": "Note: position of control point is only partly used and may change",
            "start": 1492,
            "end": 1560,
            "loc": {
              "start": {
                "line": 35,
                "column": 0
              },
              "end": {
                "line": 35,
                "column": 68
              }
            },
            "range": [
              1492,
              1560
            ]
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": "Note: position of center is only partly used and may change",
          "start": 912,
          "end": 973,
          "loc": {
            "start": {
              "line": 23,
              "column": 0
            },
            "end": {
              "line": 23,
              "column": 61
            }
          },
          "range": [
            912,
            973
          ]
        }
      ],
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": "Note: position of control point is only partly used and may change",
          "start": 1492,
          "end": 1560,
          "loc": {
            "start": {
              "line": 35,
              "column": 0
            },
            "end": {
              "line": 35,
              "column": 68
            }
          },
          "range": [
            1492,
            1560
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 1561,
      "end": 2325,
      "loc": {
        "start": {
          "line": 36,
          "column": 0
        },
        "end": {
          "line": 51,
          "column": 1
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 1568,
        "end": 2325,
        "loc": {
          "start": {
            "line": 36,
            "column": 7
          },
          "end": {
            "line": 51,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 1577,
          "end": 1594,
          "loc": {
            "start": {
              "line": 36,
              "column": 16
            },
            "end": {
              "line": 36,
              "column": 33
            }
          },
          "name": "drawArcBy_S_E_CPh",
          "leadingComments": null
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 1595,
            "end": 1603,
            "loc": {
              "start": {
                "line": 36,
                "column": 34
              },
              "end": {
                "line": 36,
                "column": 42
              }
            },
            "name": "startPos"
          },
          {
            "type": "Identifier",
            "start": 1605,
            "end": 1611,
            "loc": {
              "start": {
                "line": 36,
                "column": 44
              },
              "end": {
                "line": 36,
                "column": 50
              }
            },
            "name": "endPos"
          },
          {
            "type": "Identifier",
            "start": 1613,
            "end": 1629,
            "loc": {
              "start": {
                "line": 36,
                "column": 52
              },
              "end": {
                "line": 36,
                "column": 68
              }
            },
            "name": "controlPointHint"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 1631,
          "end": 2325,
          "loc": {
            "start": {
              "line": 36,
              "column": 70
            },
            "end": {
              "line": 51,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 1637,
              "end": 1692,
              "loc": {
                "start": {
                  "line": 37,
                  "column": 4
                },
                "end": {
                  "line": 37,
                  "column": 59
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1641,
                  "end": 1691,
                  "loc": {
                    "start": {
                      "line": 37,
                      "column": 8
                    },
                    "end": {
                      "line": 37,
                      "column": 58
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1641,
                    "end": 1644,
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 8
                      },
                      "end": {
                        "line": 37,
                        "column": 11
                      }
                    },
                    "name": "mid"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1647,
                    "end": 1691,
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 14
                      },
                      "end": {
                        "line": 37,
                        "column": 58
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1647,
                      "end": 1688,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 14
                        },
                        "end": {
                          "line": 37,
                          "column": 55
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 1647,
                        "end": 1675,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 14
                          },
                          "end": {
                            "line": 37,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1647,
                          "end": 1665,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 14
                            },
                            "end": {
                              "line": 37,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 1647,
                            "end": 1661,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 14
                              },
                              "end": {
                                "line": 37,
                                "column": 28
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1647,
                              "end": 1659,
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 14
                                },
                                "end": {
                                  "line": 37,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1647,
                                "end": 1653,
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 20
                                  }
                                },
                                "name": "endPos"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1654,
                                "end": 1659,
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 26
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1662,
                            "end": 1665,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 29
                              },
                              "end": {
                                "line": 37,
                                "column": 32
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1666,
                            "end": 1674,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 33
                              },
                              "end": {
                                "line": 37,
                                "column": 41
                              }
                            },
                            "name": "startPos"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1676,
                        "end": 1688,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 43
                          },
                          "end": {
                            "line": 37,
                            "column": 55
                          }
                        },
                        "name": "divideScalar"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Literal",
                        "start": 1689,
                        "end": 1690,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 56
                          },
                          "end": {
                            "line": 37,
                            "column": 57
                          }
                        },
                        "value": 2,
                        "rawValue": 2,
                        "raw": "2"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1697,
              "end": 1736,
              "loc": {
                "start": {
                  "line": 38,
                  "column": 4
                },
                "end": {
                  "line": 38,
                  "column": 43
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1701,
                  "end": 1735,
                  "loc": {
                    "start": {
                      "line": 38,
                      "column": 8
                    },
                    "end": {
                      "line": 38,
                      "column": 42
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1701,
                    "end": 1704,
                    "loc": {
                      "start": {
                        "line": 38,
                        "column": 8
                      },
                      "end": {
                        "line": 38,
                        "column": 11
                      }
                    },
                    "name": "dir"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1707,
                    "end": 1735,
                    "loc": {
                      "start": {
                        "line": 38,
                        "column": 14
                      },
                      "end": {
                        "line": 38,
                        "column": 42
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1707,
                      "end": 1725,
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 14
                        },
                        "end": {
                          "line": 38,
                          "column": 32
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 1707,
                        "end": 1721,
                        "loc": {
                          "start": {
                            "line": 38,
                            "column": 14
                          },
                          "end": {
                            "line": 38,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1707,
                          "end": 1719,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 14
                            },
                            "end": {
                              "line": 38,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1707,
                            "end": 1713,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 14
                              },
                              "end": {
                                "line": 38,
                                "column": 20
                              }
                            },
                            "name": "endPos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1714,
                            "end": 1719,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 21
                              },
                              "end": {
                                "line": 38,
                                "column": 26
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1722,
                        "end": 1725,
                        "loc": {
                          "start": {
                            "line": 38,
                            "column": 29
                          },
                          "end": {
                            "line": 38,
                            "column": 32
                          }
                        },
                        "name": "sub"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 1726,
                        "end": 1734,
                        "loc": {
                          "start": {
                            "line": 38,
                            "column": 33
                          },
                          "end": {
                            "line": 38,
                            "column": 41
                          }
                        },
                        "name": "startPos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1741,
              "end": 1789,
              "loc": {
                "start": {
                  "line": 39,
                  "column": 4
                },
                "end": {
                  "line": 39,
                  "column": 52
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1745,
                  "end": 1788,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 8
                    },
                    "end": {
                      "line": 39,
                      "column": 51
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1745,
                    "end": 1748,
                    "loc": {
                      "start": {
                        "line": 39,
                        "column": 8
                      },
                      "end": {
                        "line": 39,
                        "column": 11
                      }
                    },
                    "name": "per"
                  },
                  "init": {
                    "type": "NewExpression",
                    "start": 1751,
                    "end": 1788,
                    "loc": {
                      "start": {
                        "line": 39,
                        "column": 14
                      },
                      "end": {
                        "line": 39,
                        "column": 51
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1755,
                      "end": 1768,
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 18
                        },
                        "end": {
                          "line": 39,
                          "column": 31
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 1755,
                        "end": 1760,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 18
                          },
                          "end": {
                            "line": 39,
                            "column": 23
                          }
                        },
                        "name": "THREE"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1761,
                        "end": 1768,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 24
                          },
                          "end": {
                            "line": 39,
                            "column": 31
                          }
                        },
                        "name": "Vector3"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "UnaryExpression",
                        "start": 1769,
                        "end": 1775,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 32
                          },
                          "end": {
                            "line": 39,
                            "column": 38
                          }
                        },
                        "operator": "-",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 1770,
                          "end": 1775,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 33
                            },
                            "end": {
                              "line": 39,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1770,
                            "end": 1773,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 33
                              },
                              "end": {
                                "line": 39,
                                "column": 36
                              }
                            },
                            "name": "dir"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1774,
                            "end": 1775,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 37
                              },
                              "end": {
                                "line": 39,
                                "column": 38
                              }
                            },
                            "name": "y"
                          },
                          "computed": false
                        }
                      },
                      {
                        "type": "MemberExpression",
                        "start": 1777,
                        "end": 1782,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 40
                          },
                          "end": {
                            "line": 39,
                            "column": 45
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1777,
                          "end": 1780,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 40
                            },
                            "end": {
                              "line": 39,
                              "column": 43
                            }
                          },
                          "name": "dir"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1781,
                          "end": 1782,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 44
                            },
                            "end": {
                              "line": 39,
                              "column": 45
                            }
                          },
                          "name": "x"
                        },
                        "computed": false
                      },
                      {
                        "type": "Literal",
                        "start": 1784,
                        "end": 1787,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 47
                          },
                          "end": {
                            "line": 39,
                            "column": 50
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0.0"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1794,
              "end": 1844,
              "loc": {
                "start": {
                  "line": 40,
                  "column": 4
                },
                "end": {
                  "line": 40,
                  "column": 54
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1798,
                  "end": 1843,
                  "loc": {
                    "start": {
                      "line": 40,
                      "column": 8
                    },
                    "end": {
                      "line": 40,
                      "column": 53
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1798,
                    "end": 1807,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 8
                      },
                      "end": {
                        "line": 40,
                        "column": 17
                      }
                    },
                    "name": "dirMidPos"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1810,
                    "end": 1843,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 20
                      },
                      "end": {
                        "line": 40,
                        "column": 53
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1810,
                      "end": 1838,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 20
                        },
                        "end": {
                          "line": 40,
                          "column": 48
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 1810,
                        "end": 1834,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 20
                          },
                          "end": {
                            "line": 40,
                            "column": 44
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1810,
                          "end": 1832,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 20
                            },
                            "end": {
                              "line": 40,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1810,
                            "end": 1826,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 20
                              },
                              "end": {
                                "line": 40,
                                "column": 36
                              }
                            },
                            "name": "controlPointHint"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1827,
                            "end": 1832,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 37
                              },
                              "end": {
                                "line": 40,
                                "column": 42
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1835,
                        "end": 1838,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 45
                          },
                          "end": {
                            "line": 40,
                            "column": 48
                          }
                        },
                        "name": "sub"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 1839,
                        "end": 1842,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 49
                          },
                          "end": {
                            "line": 40,
                            "column": 52
                          }
                        },
                        "name": "mid"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1849,
              "end": 1905,
              "loc": {
                "start": {
                  "line": 41,
                  "column": 4
                },
                "end": {
                  "line": 41,
                  "column": 60
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1853,
                  "end": 1904,
                  "loc": {
                    "start": {
                      "line": 41,
                      "column": 8
                    },
                    "end": {
                      "line": 41,
                      "column": 59
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1853,
                    "end": 1863,
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 8
                      },
                      "end": {
                        "line": 41,
                        "column": 18
                      }
                    },
                    "name": "dirMidCtrl"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1866,
                    "end": 1904,
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 21
                      },
                      "end": {
                        "line": 41,
                        "column": 59
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1866,
                      "end": 1899,
                      "loc": {
                        "start": {
                          "line": 41,
                          "column": 21
                        },
                        "end": {
                          "line": 41,
                          "column": 54
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 1866,
                        "end": 1883,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 21
                          },
                          "end": {
                            "line": 41,
                            "column": 38
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1866,
                          "end": 1881,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 21
                            },
                            "end": {
                              "line": 41,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1866,
                            "end": 1875,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 21
                              },
                              "end": {
                                "line": 41,
                                "column": 30
                              }
                            },
                            "name": "dirMidPos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1876,
                            "end": 1881,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 31
                              },
                              "end": {
                                "line": 41,
                                "column": 36
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1884,
                        "end": 1899,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 39
                          },
                          "end": {
                            "line": 41,
                            "column": 54
                          }
                        },
                        "name": "projectOnVector"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 1900,
                        "end": 1903,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 55
                          },
                          "end": {
                            "line": 41,
                            "column": 58
                          }
                        },
                        "name": "per"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 1910,
              "end": 1943,
              "loc": {
                "start": {
                  "line": 42,
                  "column": 4
                },
                "end": {
                  "line": 42,
                  "column": 37
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1914,
                  "end": 1942,
                  "loc": {
                    "start": {
                      "line": 42,
                      "column": 8
                    },
                    "end": {
                      "line": 42,
                      "column": 36
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1914,
                    "end": 1920,
                    "loc": {
                      "start": {
                        "line": 42,
                        "column": 8
                      },
                      "end": {
                        "line": 42,
                        "column": 14
                      }
                    },
                    "name": "height"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1923,
                    "end": 1942,
                    "loc": {
                      "start": {
                        "line": 42,
                        "column": 17
                      },
                      "end": {
                        "line": 42,
                        "column": 36
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1923,
                      "end": 1940,
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 17
                        },
                        "end": {
                          "line": 42,
                          "column": 34
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 1923,
                        "end": 1933,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 17
                          },
                          "end": {
                            "line": 42,
                            "column": 27
                          }
                        },
                        "name": "dirMidCtrl"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1934,
                        "end": 1940,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 28
                          },
                          "end": {
                            "line": 42,
                            "column": 34
                          }
                        },
                        "name": "length"
                      },
                      "computed": false
                    },
                    "arguments": []
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "IfStatement",
              "start": 1948,
              "end": 2014,
              "loc": {
                "start": {
                  "line": 43,
                  "column": 4
                },
                "end": {
                  "line": 44,
                  "column": 46
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 1952,
                "end": 1966,
                "loc": {
                  "start": {
                    "line": 43,
                    "column": 8
                  },
                  "end": {
                    "line": 43,
                    "column": 22
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 1952,
                  "end": 1958,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 8
                    },
                    "end": {
                      "line": 43,
                      "column": 14
                    }
                  },
                  "name": "height"
                },
                "operator": "<=",
                "right": {
                  "type": "Literal",
                  "start": 1962,
                  "end": 1966,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 18
                    },
                    "end": {
                      "line": 43,
                      "column": 22
                    }
                  },
                  "value": 0.001,
                  "rawValue": 0.001,
                  "raw": "1e-3"
                }
              },
              "consequent": {
                "type": "ReturnStatement",
                "start": 1976,
                "end": 2014,
                "loc": {
                  "start": {
                    "line": 44,
                    "column": 8
                  },
                  "end": {
                    "line": 44,
                    "column": 46
                  }
                },
                "argument": {
                  "type": "ObjectExpression",
                  "start": 1983,
                  "end": 2013,
                  "loc": {
                    "start": {
                      "line": 44,
                      "column": 15
                    },
                    "end": {
                      "line": 44,
                      "column": 45
                    }
                  },
                  "properties": [
                    {
                      "type": "Property",
                      "start": 1984,
                      "end": 1999,
                      "loc": {
                        "start": {
                          "line": 44,
                          "column": 16
                        },
                        "end": {
                          "line": 44,
                          "column": 31
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 1984,
                        "end": 1989,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 16
                          },
                          "end": {
                            "line": 44,
                            "column": 21
                          }
                        },
                        "name": "start"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 1991,
                        "end": 1999,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 23
                          },
                          "end": {
                            "line": 44,
                            "column": 31
                          }
                        },
                        "name": "startPos"
                      },
                      "kind": "init"
                    },
                    {
                      "type": "Property",
                      "start": 2001,
                      "end": 2012,
                      "loc": {
                        "start": {
                          "line": 44,
                          "column": 33
                        },
                        "end": {
                          "line": 44,
                          "column": 44
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 2001,
                        "end": 2004,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 33
                          },
                          "end": {
                            "line": 44,
                            "column": 36
                          }
                        },
                        "name": "end"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 2006,
                        "end": 2012,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 38
                          },
                          "end": {
                            "line": 44,
                            "column": 44
                          }
                        },
                        "name": "endPos"
                      },
                      "kind": "init"
                    }
                  ]
                }
              },
              "alternate": null
            },
            {
              "type": "VariableDeclaration",
              "start": 2019,
              "end": 2053,
              "loc": {
                "start": {
                  "line": 45,
                  "column": 4
                },
                "end": {
                  "line": 45,
                  "column": 38
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2023,
                  "end": 2052,
                  "loc": {
                    "start": {
                      "line": 45,
                      "column": 8
                    },
                    "end": {
                      "line": 45,
                      "column": 37
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2023,
                    "end": 2031,
                    "loc": {
                      "start": {
                        "line": 45,
                        "column": 8
                      },
                      "end": {
                        "line": 45,
                        "column": 16
                      }
                    },
                    "name": "halfDist"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 2034,
                    "end": 2052,
                    "loc": {
                      "start": {
                        "line": 45,
                        "column": 19
                      },
                      "end": {
                        "line": 45,
                        "column": 37
                      }
                    },
                    "left": {
                      "type": "CallExpression",
                      "start": 2034,
                      "end": 2046,
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 19
                        },
                        "end": {
                          "line": 45,
                          "column": 31
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2034,
                        "end": 2044,
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 19
                          },
                          "end": {
                            "line": 45,
                            "column": 29
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 2034,
                          "end": 2037,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 19
                            },
                            "end": {
                              "line": 45,
                              "column": 22
                            }
                          },
                          "name": "dir"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2038,
                          "end": 2044,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 23
                            },
                            "end": {
                              "line": 45,
                              "column": 29
                            }
                          },
                          "name": "length"
                        },
                        "computed": false
                      },
                      "arguments": []
                    },
                    "operator": "/",
                    "right": {
                      "type": "Literal",
                      "start": 2049,
                      "end": 2052,
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 34
                        },
                        "end": {
                          "line": 45,
                          "column": 37
                        }
                      },
                      "value": 2,
                      "rawValue": 2,
                      "raw": "2.0"
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 2058,
              "end": 2113,
              "loc": {
                "start": {
                  "line": 46,
                  "column": 4
                },
                "end": {
                  "line": 46,
                  "column": 59
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2062,
                  "end": 2112,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 8
                    },
                    "end": {
                      "line": 46,
                      "column": 58
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2062,
                    "end": 2067,
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 8
                      },
                      "end": {
                        "line": 46,
                        "column": 13
                      }
                    },
                    "name": "coeff"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 2070,
                    "end": 2112,
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 16
                      },
                      "end": {
                        "line": 46,
                        "column": 58
                      }
                    },
                    "left": {
                      "type": "UnaryExpression",
                      "start": 2070,
                      "end": 2092,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 16
                        },
                        "end": {
                          "line": 46,
                          "column": 38
                        }
                      },
                      "operator": "-",
                      "prefix": true,
                      "argument": {
                        "type": "BinaryExpression",
                        "start": 2072,
                        "end": 2091,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 18
                          },
                          "end": {
                            "line": 46,
                            "column": 37
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 2072,
                          "end": 2080,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 18
                            },
                            "end": {
                              "line": 46,
                              "column": 26
                            }
                          },
                          "name": "halfDist"
                        },
                        "operator": "*",
                        "right": {
                          "type": "Identifier",
                          "start": 2083,
                          "end": 2091,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 29
                            },
                            "end": {
                              "line": 46,
                              "column": 37
                            }
                          },
                          "name": "halfDist"
                        },
                        "parenthesizedExpression": true
                      }
                    },
                    "operator": "/",
                    "right": {
                      "type": "BinaryExpression",
                      "start": 2096,
                      "end": 2111,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 42
                        },
                        "end": {
                          "line": 46,
                          "column": 57
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 2096,
                        "end": 2102,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 42
                          },
                          "end": {
                            "line": 46,
                            "column": 48
                          }
                        },
                        "name": "height"
                      },
                      "operator": "*",
                      "right": {
                        "type": "Identifier",
                        "start": 2105,
                        "end": 2111,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 51
                          },
                          "end": {
                            "line": 46,
                            "column": 57
                          }
                        },
                        "name": "height"
                      },
                      "parenthesizedExpression": true
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 2118,
              "end": 2178,
              "loc": {
                "start": {
                  "line": 47,
                  "column": 4
                },
                "end": {
                  "line": 47,
                  "column": 64
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2122,
                  "end": 2177,
                  "loc": {
                    "start": {
                      "line": 47,
                      "column": 8
                    },
                    "end": {
                      "line": 47,
                      "column": 63
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2122,
                    "end": 2125,
                    "loc": {
                      "start": {
                        "line": 47,
                        "column": 8
                      },
                      "end": {
                        "line": 47,
                        "column": 11
                      }
                    },
                    "name": "ctr"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 2128,
                    "end": 2177,
                    "loc": {
                      "start": {
                        "line": 47,
                        "column": 14
                      },
                      "end": {
                        "line": 47,
                        "column": 63
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2128,
                      "end": 2172,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 14
                        },
                        "end": {
                          "line": 47,
                          "column": 58
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 2128,
                        "end": 2168,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 14
                          },
                          "end": {
                            "line": 47,
                            "column": 54
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2128,
                          "end": 2161,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 14
                            },
                            "end": {
                              "line": 47,
                              "column": 47
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 2128,
                            "end": 2146,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 14
                              },
                              "end": {
                                "line": 47,
                                "column": 32
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2128,
                              "end": 2144,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 14
                                },
                                "end": {
                                  "line": 47,
                                  "column": 30
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2128,
                                "end": 2138,
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 24
                                  }
                                },
                                "name": "dirMidCtrl"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2139,
                                "end": 2144,
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 30
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2147,
                            "end": 2161,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 33
                              },
                              "end": {
                                "line": 47,
                                "column": 47
                              }
                            },
                            "name": "multiplyScalar"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 2162,
                            "end": 2167,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 48
                              },
                              "end": {
                                "line": 47,
                                "column": 53
                              }
                            },
                            "name": "coeff"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2169,
                        "end": 2172,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 55
                          },
                          "end": {
                            "line": 47,
                            "column": 58
                          }
                        },
                        "name": "add"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 2173,
                        "end": 2176,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 59
                          },
                          "end": {
                            "line": 47,
                            "column": 62
                          }
                        },
                        "name": "mid"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 2183,
              "end": 2212,
              "loc": {
                "start": {
                  "line": 48,
                  "column": 4
                },
                "end": {
                  "line": 48,
                  "column": 33
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2187,
                  "end": 2211,
                  "loc": {
                    "start": {
                      "line": 48,
                      "column": 8
                    },
                    "end": {
                      "line": 48,
                      "column": 32
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2187,
                    "end": 2190,
                    "loc": {
                      "start": {
                        "line": 48,
                        "column": 8
                      },
                      "end": {
                        "line": 48,
                        "column": 11
                      }
                    },
                    "name": "dot"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 2193,
                    "end": 2211,
                    "loc": {
                      "start": {
                        "line": 48,
                        "column": 14
                      },
                      "end": {
                        "line": 48,
                        "column": 32
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2193,
                      "end": 2206,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 14
                        },
                        "end": {
                          "line": 48,
                          "column": 27
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2193,
                        "end": 2202,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 14
                          },
                          "end": {
                            "line": 48,
                            "column": 23
                          }
                        },
                        "name": "dirMidPos"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2203,
                        "end": 2206,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 24
                          },
                          "end": {
                            "line": 48,
                            "column": 27
                          }
                        },
                        "name": "dot"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 2207,
                        "end": 2210,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 28
                          },
                          "end": {
                            "line": 48,
                            "column": 31
                          }
                        },
                        "name": "per"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 2217,
              "end": 2245,
              "loc": {
                "start": {
                  "line": 49,
                  "column": 4
                },
                "end": {
                  "line": 49,
                  "column": 32
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2221,
                  "end": 2244,
                  "loc": {
                    "start": {
                      "line": 49,
                      "column": 8
                    },
                    "end": {
                      "line": 49,
                      "column": 31
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2221,
                    "end": 2230,
                    "loc": {
                      "start": {
                        "line": 49,
                        "column": 8
                      },
                      "end": {
                        "line": 49,
                        "column": 17
                      }
                    },
                    "name": "clockwise"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 2234,
                    "end": 2243,
                    "loc": {
                      "start": {
                        "line": 49,
                        "column": 21
                      },
                      "end": {
                        "line": 49,
                        "column": 30
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 2234,
                      "end": 2237,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 21
                        },
                        "end": {
                          "line": 49,
                          "column": 24
                        }
                      },
                      "name": "dot"
                    },
                    "operator": ">",
                    "right": {
                      "type": "Literal",
                      "start": 2240,
                      "end": 2243,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 27
                        },
                        "end": {
                          "line": 49,
                          "column": 30
                        }
                      },
                      "value": 0,
                      "rawValue": 0,
                      "raw": "0.0"
                    },
                    "parenthesizedExpression": true
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "ReturnStatement",
              "start": 2250,
              "end": 2323,
              "loc": {
                "start": {
                  "line": 50,
                  "column": 4
                },
                "end": {
                  "line": 50,
                  "column": 77
                }
              },
              "argument": {
                "type": "ObjectExpression",
                "start": 2257,
                "end": 2322,
                "loc": {
                  "start": {
                    "line": 50,
                    "column": 11
                  },
                  "end": {
                    "line": 50,
                    "column": 76
                  }
                },
                "properties": [
                  {
                    "type": "Property",
                    "start": 2258,
                    "end": 2273,
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 12
                      },
                      "end": {
                        "line": 50,
                        "column": 27
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 2258,
                      "end": 2263,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 12
                        },
                        "end": {
                          "line": 50,
                          "column": 17
                        }
                      },
                      "name": "start"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 2265,
                      "end": 2273,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 19
                        },
                        "end": {
                          "line": 50,
                          "column": 27
                        }
                      },
                      "name": "startPos"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 2275,
                    "end": 2286,
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 29
                      },
                      "end": {
                        "line": 50,
                        "column": 40
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 2275,
                      "end": 2278,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 29
                        },
                        "end": {
                          "line": 50,
                          "column": 32
                        }
                      },
                      "name": "end"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 2280,
                      "end": 2286,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 34
                        },
                        "end": {
                          "line": 50,
                          "column": 40
                        }
                      },
                      "name": "endPos"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 2288,
                    "end": 2299,
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 42
                      },
                      "end": {
                        "line": 50,
                        "column": 53
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 2288,
                      "end": 2294,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 42
                        },
                        "end": {
                          "line": 50,
                          "column": 48
                        }
                      },
                      "name": "center"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 2296,
                      "end": 2299,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 50
                        },
                        "end": {
                          "line": 50,
                          "column": 53
                        }
                      },
                      "name": "ctr"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 2301,
                    "end": 2321,
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 55
                      },
                      "end": {
                        "line": 50,
                        "column": 75
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 2301,
                      "end": 2310,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 55
                        },
                        "end": {
                          "line": 50,
                          "column": 64
                        }
                      },
                      "name": "clockwise"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 2312,
                      "end": 2321,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 66
                        },
                        "end": {
                          "line": 50,
                          "column": 75
                        }
                      },
                      "name": "clockwise"
                    },
                    "kind": "init"
                  }
                ]
              }
            }
          ],
          "trailingComments": null
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": "Note: position of control point is only partly used and may change",
            "start": 1492,
            "end": 1560,
            "loc": {
              "start": {
                "line": 35,
                "column": 0
              },
              "end": {
                "line": 35,
                "column": 68
              }
            },
            "range": [
              1492,
              1560
            ]
          }
        ],
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": "Note: middle point should be within circlewith diameter [SE], otherwise it would be corrected",
            "start": 2327,
            "end": 2422,
            "loc": {
              "start": {
                "line": 53,
                "column": 0
              },
              "end": {
                "line": 53,
                "column": 95
              }
            },
            "range": [
              2327,
              2422
            ]
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": "Note: position of control point is only partly used and may change",
          "start": 1492,
          "end": 1560,
          "loc": {
            "start": {
              "line": 35,
              "column": 0
            },
            "end": {
              "line": 35,
              "column": 68
            }
          },
          "range": [
            1492,
            1560
          ]
        }
      ],
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": "Note: middle point should be within circlewith diameter [SE], otherwise it would be corrected",
          "start": 2327,
          "end": 2422,
          "loc": {
            "start": {
              "line": 53,
              "column": 0
            },
            "end": {
              "line": 53,
              "column": 95
            }
          },
          "range": [
            2327,
            2422
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 2423,
      "end": 4193,
      "loc": {
        "start": {
          "line": 54,
          "column": 0
        },
        "end": {
          "line": 95,
          "column": 1
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 2430,
        "end": 4193,
        "loc": {
          "start": {
            "line": 54,
            "column": 7
          },
          "end": {
            "line": 95,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 2439,
          "end": 2454,
          "loc": {
            "start": {
              "line": 54,
              "column": 16
            },
            "end": {
              "line": 54,
              "column": 31
            }
          },
          "name": "drawArcBy_S_E_M",
          "leadingComments": null
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 2455,
            "end": 2463,
            "loc": {
              "start": {
                "line": 54,
                "column": 32
              },
              "end": {
                "line": 54,
                "column": 40
              }
            },
            "name": "startPos"
          },
          {
            "type": "Identifier",
            "start": 2465,
            "end": 2471,
            "loc": {
              "start": {
                "line": 54,
                "column": 42
              },
              "end": {
                "line": 54,
                "column": 48
              }
            },
            "name": "endPos"
          },
          {
            "type": "Identifier",
            "start": 2473,
            "end": 2482,
            "loc": {
              "start": {
                "line": 54,
                "column": 50
              },
              "end": {
                "line": 54,
                "column": 59
              }
            },
            "name": "middlePos"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 2484,
          "end": 4193,
          "loc": {
            "start": {
              "line": 54,
              "column": 61
            },
            "end": {
              "line": 95,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 2561,
              "end": 2599,
              "loc": {
                "start": {
                  "line": 56,
                  "column": 4
                },
                "end": {
                  "line": 56,
                  "column": 42
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2565,
                  "end": 2598,
                  "loc": {
                    "start": {
                      "line": 56,
                      "column": 8
                    },
                    "end": {
                      "line": 56,
                      "column": 41
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2565,
                    "end": 2568,
                    "loc": {
                      "start": {
                        "line": 56,
                        "column": 8
                      },
                      "end": {
                        "line": 56,
                        "column": 11
                      }
                    },
                    "name": "lSE",
                    "leadingComments": null
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 2571,
                    "end": 2598,
                    "loc": {
                      "start": {
                        "line": 56,
                        "column": 14
                      },
                      "end": {
                        "line": 56,
                        "column": 41
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2571,
                      "end": 2590,
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 14
                        },
                        "end": {
                          "line": 56,
                          "column": 33
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2571,
                        "end": 2579,
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 14
                          },
                          "end": {
                            "line": 56,
                            "column": 22
                          }
                        },
                        "name": "startPos"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2580,
                        "end": 2590,
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 23
                          },
                          "end": {
                            "line": 56,
                            "column": 33
                          }
                        },
                        "name": "distanceTo"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 2591,
                        "end": 2597,
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 34
                          },
                          "end": {
                            "line": 56,
                            "column": 40
                          }
                        },
                        "name": "endPos"
                      }
                    ]
                  },
                  "leadingComments": null
                }
              ],
              "kind": "var",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "since vector math is a huge pain in JS, we do it in a stupid way",
                  "start": 2490,
                  "end": 2556,
                  "loc": {
                    "start": {
                      "line": 55,
                      "column": 4
                    },
                    "end": {
                      "line": 55,
                      "column": 70
                    }
                  },
                  "range": [
                    2490,
                    2556
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 2604,
              "end": 2645,
              "loc": {
                "start": {
                  "line": 57,
                  "column": 4
                },
                "end": {
                  "line": 57,
                  "column": 45
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2608,
                  "end": 2644,
                  "loc": {
                    "start": {
                      "line": 57,
                      "column": 8
                    },
                    "end": {
                      "line": 57,
                      "column": 44
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2608,
                    "end": 2611,
                    "loc": {
                      "start": {
                        "line": 57,
                        "column": 8
                      },
                      "end": {
                        "line": 57,
                        "column": 11
                      }
                    },
                    "name": "lSM"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 2614,
                    "end": 2644,
                    "loc": {
                      "start": {
                        "line": 57,
                        "column": 14
                      },
                      "end": {
                        "line": 57,
                        "column": 44
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2614,
                      "end": 2633,
                      "loc": {
                        "start": {
                          "line": 57,
                          "column": 14
                        },
                        "end": {
                          "line": 57,
                          "column": 33
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2614,
                        "end": 2622,
                        "loc": {
                          "start": {
                            "line": 57,
                            "column": 14
                          },
                          "end": {
                            "line": 57,
                            "column": 22
                          }
                        },
                        "name": "startPos"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2623,
                        "end": 2633,
                        "loc": {
                          "start": {
                            "line": 57,
                            "column": 23
                          },
                          "end": {
                            "line": 57,
                            "column": 33
                          }
                        },
                        "name": "distanceTo"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 2634,
                        "end": 2643,
                        "loc": {
                          "start": {
                            "line": 57,
                            "column": 34
                          },
                          "end": {
                            "line": 57,
                            "column": 43
                          }
                        },
                        "name": "middlePos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 2650,
              "end": 2689,
              "loc": {
                "start": {
                  "line": 58,
                  "column": 4
                },
                "end": {
                  "line": 58,
                  "column": 43
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2654,
                  "end": 2688,
                  "loc": {
                    "start": {
                      "line": 58,
                      "column": 8
                    },
                    "end": {
                      "line": 58,
                      "column": 42
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2654,
                    "end": 2657,
                    "loc": {
                      "start": {
                        "line": 58,
                        "column": 8
                      },
                      "end": {
                        "line": 58,
                        "column": 11
                      }
                    },
                    "name": "lEM"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 2660,
                    "end": 2688,
                    "loc": {
                      "start": {
                        "line": 58,
                        "column": 14
                      },
                      "end": {
                        "line": 58,
                        "column": 42
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2660,
                      "end": 2677,
                      "loc": {
                        "start": {
                          "line": 58,
                          "column": 14
                        },
                        "end": {
                          "line": 58,
                          "column": 31
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2660,
                        "end": 2666,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 14
                          },
                          "end": {
                            "line": 58,
                            "column": 20
                          }
                        },
                        "name": "endPos"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2667,
                        "end": 2677,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 21
                          },
                          "end": {
                            "line": 58,
                            "column": 31
                          }
                        },
                        "name": "distanceTo"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 2678,
                        "end": 2687,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 32
                          },
                          "end": {
                            "line": 58,
                            "column": 41
                          }
                        },
                        "name": "middlePos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 2694,
              "end": 2782,
              "loc": {
                "start": {
                  "line": 59,
                  "column": 4
                },
                "end": {
                  "line": 59,
                  "column": 92
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2698,
                  "end": 2781,
                  "loc": {
                    "start": {
                      "line": 59,
                      "column": 8
                    },
                    "end": {
                      "line": 59,
                      "column": 91
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2698,
                    "end": 2703,
                    "loc": {
                      "start": {
                        "line": 59,
                        "column": 8
                      },
                      "end": {
                        "line": 59,
                        "column": 13
                      }
                    },
                    "name": "sArea"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 2706,
                    "end": 2781,
                    "loc": {
                      "start": {
                        "line": 59,
                        "column": 16
                      },
                      "end": {
                        "line": 59,
                        "column": 91
                      }
                    },
                    "left": {
                      "type": "MemberExpression",
                      "start": 2706,
                      "end": 2775,
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 16
                        },
                        "end": {
                          "line": 59,
                          "column": 85
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 2706,
                        "end": 2773,
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 16
                          },
                          "end": {
                            "line": 59,
                            "column": 83
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2706,
                          "end": 2740,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 16
                            },
                            "end": {
                              "line": 59,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 2706,
                            "end": 2734,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 16
                              },
                              "end": {
                                "line": 59,
                                "column": 44
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2706,
                              "end": 2724,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 16
                                },
                                "end": {
                                  "line": 59,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 2706,
                                "end": 2720,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 30
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2706,
                                  "end": 2718,
                                  "loc": {
                                    "start": {
                                      "line": 59,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 59,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2706,
                                    "end": 2712,
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 59,
                                        "column": 22
                                      }
                                    },
                                    "name": "endPos"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2713,
                                    "end": 2718,
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 59,
                                        "column": 28
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2721,
                                "end": 2724,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 34
                                  }
                                },
                                "name": "sub"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 2725,
                                "end": 2733,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 43
                                  }
                                },
                                "name": "startPos"
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2735,
                            "end": 2740,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 45
                              },
                              "end": {
                                "line": 59,
                                "column": 50
                              }
                            },
                            "name": "cross"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 2741,
                            "end": 2772,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 51
                              },
                              "end": {
                                "line": 59,
                                "column": 82
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2741,
                              "end": 2762,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 51
                                },
                                "end": {
                                  "line": 59,
                                  "column": 72
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 2741,
                                "end": 2758,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 68
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2741,
                                  "end": 2756,
                                  "loc": {
                                    "start": {
                                      "line": 59,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 59,
                                      "column": 66
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2741,
                                    "end": 2750,
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 59,
                                        "column": 60
                                      }
                                    },
                                    "name": "middlePos"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2751,
                                    "end": 2756,
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 61
                                      },
                                      "end": {
                                        "line": 59,
                                        "column": 66
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2759,
                                "end": 2762,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 69
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 72
                                  }
                                },
                                "name": "sub"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 2763,
                                "end": 2771,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 73
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 81
                                  }
                                },
                                "name": "startPos"
                              }
                            ]
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2774,
                        "end": 2775,
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 84
                          },
                          "end": {
                            "line": 59,
                            "column": 85
                          }
                        },
                        "name": "z"
                      },
                      "computed": false
                    },
                    "operator": "/",
                    "right": {
                      "type": "Literal",
                      "start": 2778,
                      "end": 2781,
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 88
                        },
                        "end": {
                          "line": 59,
                          "column": 91
                        }
                      },
                      "value": 2,
                      "rawValue": 2,
                      "raw": "2.0"
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 2787,
              "end": 2814,
              "loc": {
                "start": {
                  "line": 60,
                  "column": 4
                },
                "end": {
                  "line": 60,
                  "column": 31
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2791,
                  "end": 2813,
                  "loc": {
                    "start": {
                      "line": 60,
                      "column": 8
                    },
                    "end": {
                      "line": 60,
                      "column": 30
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2791,
                    "end": 2795,
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 8
                      },
                      "end": {
                        "line": 60,
                        "column": 12
                      }
                    },
                    "name": "area"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 2798,
                    "end": 2813,
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 15
                      },
                      "end": {
                        "line": 60,
                        "column": 30
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2798,
                      "end": 2806,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 15
                        },
                        "end": {
                          "line": 60,
                          "column": 23
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2798,
                        "end": 2802,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 15
                          },
                          "end": {
                            "line": 60,
                            "column": 19
                          }
                        },
                        "name": "Math"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2803,
                        "end": 2806,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 20
                          },
                          "end": {
                            "line": 60,
                            "column": 23
                          }
                        },
                        "name": "abs"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 2807,
                        "end": 2812,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 24
                          },
                          "end": {
                            "line": 60,
                            "column": 29
                          }
                        },
                        "name": "sArea"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "IfStatement",
              "start": 2819,
              "end": 2896,
              "loc": {
                "start": {
                  "line": 61,
                  "column": 4
                },
                "end": {
                  "line": 62,
                  "column": 46
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 2823,
                "end": 2848,
                "loc": {
                  "start": {
                    "line": 61,
                    "column": 8
                  },
                  "end": {
                    "line": 61,
                    "column": 33
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 2823,
                  "end": 2827,
                  "loc": {
                    "start": {
                      "line": 61,
                      "column": 8
                    },
                    "end": {
                      "line": 61,
                      "column": 12
                    }
                  },
                  "name": "area"
                },
                "operator": "<=",
                "right": {
                  "type": "BinaryExpression",
                  "start": 2831,
                  "end": 2848,
                  "loc": {
                    "start": {
                      "line": 61,
                      "column": 16
                    },
                    "end": {
                      "line": 61,
                      "column": 33
                    }
                  },
                  "left": {
                    "type": "BinaryExpression",
                    "start": 2831,
                    "end": 2841,
                    "loc": {
                      "start": {
                        "line": 61,
                        "column": 16
                      },
                      "end": {
                        "line": 61,
                        "column": 26
                      }
                    },
                    "left": {
                      "type": "Literal",
                      "start": 2831,
                      "end": 2835,
                      "loc": {
                        "start": {
                          "line": 61,
                          "column": 16
                        },
                        "end": {
                          "line": 61,
                          "column": 20
                        }
                      },
                      "value": 0.001,
                      "rawValue": 0.001,
                      "raw": "1e-3"
                    },
                    "operator": "*",
                    "right": {
                      "type": "Identifier",
                      "start": 2838,
                      "end": 2841,
                      "loc": {
                        "start": {
                          "line": 61,
                          "column": 23
                        },
                        "end": {
                          "line": 61,
                          "column": 26
                        }
                      },
                      "name": "lSE"
                    }
                  },
                  "operator": "+",
                  "right": {
                    "type": "Literal",
                    "start": 2844,
                    "end": 2848,
                    "loc": {
                      "start": {
                        "line": 61,
                        "column": 29
                      },
                      "end": {
                        "line": 61,
                        "column": 33
                      }
                    },
                    "value": 0.001,
                    "rawValue": 0.001,
                    "raw": "1e-3"
                  }
                }
              },
              "consequent": {
                "type": "ReturnStatement",
                "start": 2858,
                "end": 2896,
                "loc": {
                  "start": {
                    "line": 62,
                    "column": 8
                  },
                  "end": {
                    "line": 62,
                    "column": 46
                  }
                },
                "argument": {
                  "type": "ObjectExpression",
                  "start": 2865,
                  "end": 2895,
                  "loc": {
                    "start": {
                      "line": 62,
                      "column": 15
                    },
                    "end": {
                      "line": 62,
                      "column": 45
                    }
                  },
                  "properties": [
                    {
                      "type": "Property",
                      "start": 2866,
                      "end": 2881,
                      "loc": {
                        "start": {
                          "line": 62,
                          "column": 16
                        },
                        "end": {
                          "line": 62,
                          "column": 31
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 2866,
                        "end": 2871,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 16
                          },
                          "end": {
                            "line": 62,
                            "column": 21
                          }
                        },
                        "name": "start"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 2873,
                        "end": 2881,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 23
                          },
                          "end": {
                            "line": 62,
                            "column": 31
                          }
                        },
                        "name": "startPos"
                      },
                      "kind": "init"
                    },
                    {
                      "type": "Property",
                      "start": 2883,
                      "end": 2894,
                      "loc": {
                        "start": {
                          "line": 62,
                          "column": 33
                        },
                        "end": {
                          "line": 62,
                          "column": 44
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 2883,
                        "end": 2886,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 33
                          },
                          "end": {
                            "line": 62,
                            "column": 36
                          }
                        },
                        "name": "end"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 2888,
                        "end": 2894,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 38
                          },
                          "end": {
                            "line": 62,
                            "column": 44
                          }
                        },
                        "name": "endPos"
                      },
                      "kind": "init"
                    }
                  ]
                },
                "trailingComments": null
              },
              "alternate": null,
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "getting radius with school math",
                  "start": 2901,
                  "end": 2934,
                  "loc": {
                    "start": {
                      "line": 63,
                      "column": 4
                    },
                    "end": {
                      "line": 63,
                      "column": 37
                    }
                  },
                  "range": [
                    2901,
                    2934
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 2939,
              "end": 2985,
              "loc": {
                "start": {
                  "line": 64,
                  "column": 4
                },
                "end": {
                  "line": 64,
                  "column": 50
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 2943,
                  "end": 2984,
                  "loc": {
                    "start": {
                      "line": 64,
                      "column": 8
                    },
                    "end": {
                      "line": 64,
                      "column": 49
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 2943,
                    "end": 2949,
                    "loc": {
                      "start": {
                        "line": 64,
                        "column": 8
                      },
                      "end": {
                        "line": 64,
                        "column": 14
                      }
                    },
                    "name": "radius",
                    "leadingComments": null
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 2952,
                    "end": 2984,
                    "loc": {
                      "start": {
                        "line": 64,
                        "column": 17
                      },
                      "end": {
                        "line": 64,
                        "column": 49
                      }
                    },
                    "left": {
                      "type": "BinaryExpression",
                      "start": 2953,
                      "end": 2968,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 18
                        },
                        "end": {
                          "line": 64,
                          "column": 33
                        }
                      },
                      "left": {
                        "type": "BinaryExpression",
                        "start": 2953,
                        "end": 2962,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 18
                          },
                          "end": {
                            "line": 64,
                            "column": 27
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 2953,
                          "end": 2956,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 18
                            },
                            "end": {
                              "line": 64,
                              "column": 21
                            }
                          },
                          "name": "lSE"
                        },
                        "operator": "*",
                        "right": {
                          "type": "Identifier",
                          "start": 2959,
                          "end": 2962,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 24
                            },
                            "end": {
                              "line": 64,
                              "column": 27
                            }
                          },
                          "name": "lSM"
                        }
                      },
                      "operator": "*",
                      "right": {
                        "type": "Identifier",
                        "start": 2965,
                        "end": 2968,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 30
                          },
                          "end": {
                            "line": 64,
                            "column": 33
                          }
                        },
                        "name": "lEM"
                      },
                      "parenthesizedExpression": true
                    },
                    "operator": "/",
                    "right": {
                      "type": "BinaryExpression",
                      "start": 2973,
                      "end": 2983,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 38
                        },
                        "end": {
                          "line": 64,
                          "column": 48
                        }
                      },
                      "left": {
                        "type": "Literal",
                        "start": 2973,
                        "end": 2976,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 38
                          },
                          "end": {
                            "line": 64,
                            "column": 41
                          }
                        },
                        "value": 4,
                        "rawValue": 4,
                        "raw": "4.0"
                      },
                      "operator": "*",
                      "right": {
                        "type": "Identifier",
                        "start": 2979,
                        "end": 2983,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 44
                          },
                          "end": {
                            "line": 64,
                            "column": 48
                          }
                        },
                        "name": "area"
                      },
                      "parenthesizedExpression": true
                    }
                  },
                  "leadingComments": null
                }
              ],
              "kind": "var",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "getting radius with school math",
                  "start": 2901,
                  "end": 2934,
                  "loc": {
                    "start": {
                      "line": 63,
                      "column": 4
                    },
                    "end": {
                      "line": 63,
                      "column": 37
                    }
                  },
                  "range": [
                    2901,
                    2934
                  ]
                }
              ]
            },
            {
              "type": "ExpressionStatement",
              "start": 2990,
              "end": 3036,
              "loc": {
                "start": {
                  "line": 65,
                  "column": 4
                },
                "end": {
                  "line": 65,
                  "column": 50
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 2990,
                "end": 3035,
                "loc": {
                  "start": {
                    "line": 65,
                    "column": 4
                  },
                  "end": {
                    "line": 65,
                    "column": 49
                  }
                },
                "operator": "=",
                "left": {
                  "type": "Identifier",
                  "start": 2990,
                  "end": 2996,
                  "loc": {
                    "start": {
                      "line": 65,
                      "column": 4
                    },
                    "end": {
                      "line": 65,
                      "column": 10
                    }
                  },
                  "name": "radius"
                },
                "right": {
                  "type": "CallExpression",
                  "start": 2999,
                  "end": 3035,
                  "loc": {
                    "start": {
                      "line": 65,
                      "column": 13
                    },
                    "end": {
                      "line": 65,
                      "column": 49
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 2999,
                    "end": 3007,
                    "loc": {
                      "start": {
                        "line": 65,
                        "column": 13
                      },
                      "end": {
                        "line": 65,
                        "column": 21
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 2999,
                      "end": 3003,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 13
                        },
                        "end": {
                          "line": 65,
                          "column": 17
                        }
                      },
                      "name": "Math"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 3004,
                      "end": 3007,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 18
                        },
                        "end": {
                          "line": 65,
                          "column": 21
                        }
                      },
                      "name": "max"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 3008,
                      "end": 3014,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 22
                        },
                        "end": {
                          "line": 65,
                          "column": 28
                        }
                      },
                      "name": "radius"
                    },
                    {
                      "type": "BinaryExpression",
                      "start": 3016,
                      "end": 3034,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 30
                        },
                        "end": {
                          "line": 65,
                          "column": 48
                        }
                      },
                      "left": {
                        "type": "BinaryExpression",
                        "start": 3017,
                        "end": 3027,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 31
                          },
                          "end": {
                            "line": 65,
                            "column": 41
                          }
                        },
                        "left": {
                          "type": "Literal",
                          "start": 3017,
                          "end": 3020,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 31
                            },
                            "end": {
                              "line": 65,
                              "column": 34
                            }
                          },
                          "value": 0.5,
                          "rawValue": 0.5,
                          "raw": "0.5"
                        },
                        "operator": "+",
                        "right": {
                          "type": "Literal",
                          "start": 3023,
                          "end": 3027,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 37
                            },
                            "end": {
                              "line": 65,
                              "column": 41
                            }
                          },
                          "value": 1e-9,
                          "rawValue": 1e-9,
                          "raw": "1e-9"
                        },
                        "parenthesizedExpression": true
                      },
                      "operator": "*",
                      "right": {
                        "type": "Identifier",
                        "start": 3031,
                        "end": 3034,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 45
                          },
                          "end": {
                            "line": 65,
                            "column": 48
                          }
                        },
                        "name": "lSE"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "VariableDeclaration",
              "start": 3041,
              "end": 3099,
              "loc": {
                "start": {
                  "line": 66,
                  "column": 4
                },
                "end": {
                  "line": 66,
                  "column": 62
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 3045,
                  "end": 3098,
                  "loc": {
                    "start": {
                      "line": 66,
                      "column": 8
                    },
                    "end": {
                      "line": 66,
                      "column": 61
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3045,
                    "end": 3051,
                    "loc": {
                      "start": {
                        "line": 66,
                        "column": 8
                      },
                      "end": {
                        "line": 66,
                        "column": 14
                      }
                    },
                    "name": "height"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 3054,
                    "end": 3098,
                    "loc": {
                      "start": {
                        "line": 66,
                        "column": 17
                      },
                      "end": {
                        "line": 66,
                        "column": 61
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3054,
                      "end": 3063,
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 17
                        },
                        "end": {
                          "line": 66,
                          "column": 26
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 3054,
                        "end": 3058,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 17
                          },
                          "end": {
                            "line": 66,
                            "column": 21
                          }
                        },
                        "name": "Math"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3059,
                        "end": 3063,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 22
                          },
                          "end": {
                            "line": 66,
                            "column": 26
                          }
                        },
                        "name": "sqrt"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "BinaryExpression",
                        "start": 3064,
                        "end": 3097,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 27
                          },
                          "end": {
                            "line": 66,
                            "column": 60
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 3064,
                          "end": 3079,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 27
                            },
                            "end": {
                              "line": 66,
                              "column": 42
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 3064,
                            "end": 3070,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 27
                              },
                              "end": {
                                "line": 66,
                                "column": 33
                              }
                            },
                            "name": "radius"
                          },
                          "operator": "*",
                          "right": {
                            "type": "Identifier",
                            "start": 3073,
                            "end": 3079,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 36
                              },
                              "end": {
                                "line": 66,
                                "column": 42
                              }
                            },
                            "name": "radius"
                          }
                        },
                        "operator": "-",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 3082,
                          "end": 3097,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 45
                            },
                            "end": {
                              "line": 66,
                              "column": 60
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 3082,
                            "end": 3091,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 45
                              },
                              "end": {
                                "line": 66,
                                "column": 54
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 3082,
                              "end": 3085,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 45
                                },
                                "end": {
                                  "line": 66,
                                  "column": 48
                                }
                              },
                              "name": "lSE"
                            },
                            "operator": "*",
                            "right": {
                              "type": "Identifier",
                              "start": 3088,
                              "end": 3091,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 51
                                },
                                "end": {
                                  "line": 66,
                                  "column": 54
                                }
                              },
                              "name": "lSE"
                            }
                          },
                          "operator": "/",
                          "right": {
                            "type": "Literal",
                            "start": 3094,
                            "end": 3097,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 57
                              },
                              "end": {
                                "line": 66,
                                "column": 60
                              }
                            },
                            "value": 4,
                            "rawValue": 4,
                            "raw": "4.0"
                          }
                        }
                      }
                    ]
                  }
                }
              ],
              "kind": "var",
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "copy-pasting middle perpendicular",
                  "start": 3104,
                  "end": 3139,
                  "loc": {
                    "start": {
                      "line": 67,
                      "column": 4
                    },
                    "end": {
                      "line": 67,
                      "column": 39
                    }
                  },
                  "range": [
                    3104,
                    3139
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 3144,
              "end": 3199,
              "loc": {
                "start": {
                  "line": 68,
                  "column": 4
                },
                "end": {
                  "line": 68,
                  "column": 59
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 3148,
                  "end": 3198,
                  "loc": {
                    "start": {
                      "line": 68,
                      "column": 8
                    },
                    "end": {
                      "line": 68,
                      "column": 58
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3148,
                    "end": 3151,
                    "loc": {
                      "start": {
                        "line": 68,
                        "column": 8
                      },
                      "end": {
                        "line": 68,
                        "column": 11
                      }
                    },
                    "name": "mid",
                    "leadingComments": null
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 3154,
                    "end": 3198,
                    "loc": {
                      "start": {
                        "line": 68,
                        "column": 14
                      },
                      "end": {
                        "line": 68,
                        "column": 58
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3154,
                      "end": 3195,
                      "loc": {
                        "start": {
                          "line": 68,
                          "column": 14
                        },
                        "end": {
                          "line": 68,
                          "column": 55
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 3154,
                        "end": 3182,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 14
                          },
                          "end": {
                            "line": 68,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3154,
                          "end": 3172,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 14
                            },
                            "end": {
                              "line": 68,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 3154,
                            "end": 3168,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 14
                              },
                              "end": {
                                "line": 68,
                                "column": 28
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 3154,
                              "end": 3166,
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 14
                                },
                                "end": {
                                  "line": 68,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3154,
                                "end": 3160,
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 20
                                  }
                                },
                                "name": "endPos"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3161,
                                "end": 3166,
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 26
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3169,
                            "end": 3172,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 29
                              },
                              "end": {
                                "line": 68,
                                "column": 32
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 3173,
                            "end": 3181,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 33
                              },
                              "end": {
                                "line": 68,
                                "column": 41
                              }
                            },
                            "name": "startPos"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3183,
                        "end": 3195,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 43
                          },
                          "end": {
                            "line": 68,
                            "column": 55
                          }
                        },
                        "name": "divideScalar"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Literal",
                        "start": 3196,
                        "end": 3197,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 56
                          },
                          "end": {
                            "line": 68,
                            "column": 57
                          }
                        },
                        "value": 2,
                        "rawValue": 2,
                        "raw": "2"
                      }
                    ]
                  },
                  "leadingComments": null
                }
              ],
              "kind": "var",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "copy-pasting middle perpendicular",
                  "start": 3104,
                  "end": 3139,
                  "loc": {
                    "start": {
                      "line": 67,
                      "column": 4
                    },
                    "end": {
                      "line": 67,
                      "column": 39
                    }
                  },
                  "range": [
                    3104,
                    3139
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 3204,
              "end": 3243,
              "loc": {
                "start": {
                  "line": 69,
                  "column": 4
                },
                "end": {
                  "line": 69,
                  "column": 43
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 3208,
                  "end": 3242,
                  "loc": {
                    "start": {
                      "line": 69,
                      "column": 8
                    },
                    "end": {
                      "line": 69,
                      "column": 42
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3208,
                    "end": 3211,
                    "loc": {
                      "start": {
                        "line": 69,
                        "column": 8
                      },
                      "end": {
                        "line": 69,
                        "column": 11
                      }
                    },
                    "name": "dir"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 3214,
                    "end": 3242,
                    "loc": {
                      "start": {
                        "line": 69,
                        "column": 14
                      },
                      "end": {
                        "line": 69,
                        "column": 42
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3214,
                      "end": 3232,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 14
                        },
                        "end": {
                          "line": 69,
                          "column": 32
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 3214,
                        "end": 3228,
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 14
                          },
                          "end": {
                            "line": 69,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3214,
                          "end": 3226,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 14
                            },
                            "end": {
                              "line": 69,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3214,
                            "end": 3220,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 14
                              },
                              "end": {
                                "line": 69,
                                "column": 20
                              }
                            },
                            "name": "endPos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3221,
                            "end": 3226,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 21
                              },
                              "end": {
                                "line": 69,
                                "column": 26
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3229,
                        "end": 3232,
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 29
                          },
                          "end": {
                            "line": 69,
                            "column": 32
                          }
                        },
                        "name": "sub"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 3233,
                        "end": 3241,
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 33
                          },
                          "end": {
                            "line": 69,
                            "column": 41
                          }
                        },
                        "name": "startPos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 3248,
              "end": 3308,
              "loc": {
                "start": {
                  "line": 70,
                  "column": 4
                },
                "end": {
                  "line": 70,
                  "column": 64
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 3252,
                  "end": 3307,
                  "loc": {
                    "start": {
                      "line": 70,
                      "column": 8
                    },
                    "end": {
                      "line": 70,
                      "column": 63
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3252,
                    "end": 3255,
                    "loc": {
                      "start": {
                        "line": 70,
                        "column": 8
                      },
                      "end": {
                        "line": 70,
                        "column": 11
                      }
                    },
                    "name": "per"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 3258,
                    "end": 3307,
                    "loc": {
                      "start": {
                        "line": 70,
                        "column": 14
                      },
                      "end": {
                        "line": 70,
                        "column": 63
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3258,
                      "end": 3305,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 14
                        },
                        "end": {
                          "line": 70,
                          "column": 61
                        }
                      },
                      "object": {
                        "type": "NewExpression",
                        "start": 3258,
                        "end": 3295,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 14
                          },
                          "end": {
                            "line": 70,
                            "column": 51
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3262,
                          "end": 3275,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 18
                            },
                            "end": {
                              "line": 70,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3262,
                            "end": 3267,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 18
                              },
                              "end": {
                                "line": 70,
                                "column": 23
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3268,
                            "end": 3275,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 24
                              },
                              "end": {
                                "line": 70,
                                "column": 31
                              }
                            },
                            "name": "Vector3"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "UnaryExpression",
                            "start": 3276,
                            "end": 3282,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 32
                              },
                              "end": {
                                "line": 70,
                                "column": 38
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "MemberExpression",
                              "start": 3277,
                              "end": 3282,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 33
                                },
                                "end": {
                                  "line": 70,
                                  "column": 38
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3277,
                                "end": 3280,
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 36
                                  }
                                },
                                "name": "dir"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3281,
                                "end": 3282,
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 38
                                  }
                                },
                                "name": "y"
                              },
                              "computed": false
                            }
                          },
                          {
                            "type": "MemberExpression",
                            "start": 3284,
                            "end": 3289,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 40
                              },
                              "end": {
                                "line": 70,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3284,
                              "end": 3287,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 40
                                },
                                "end": {
                                  "line": 70,
                                  "column": 43
                                }
                              },
                              "name": "dir"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3288,
                              "end": 3289,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 44
                                },
                                "end": {
                                  "line": 70,
                                  "column": 45
                                }
                              },
                              "name": "x"
                            },
                            "computed": false
                          },
                          {
                            "type": "Literal",
                            "start": 3291,
                            "end": 3294,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 47
                              },
                              "end": {
                                "line": 70,
                                "column": 50
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0.0"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3296,
                        "end": 3305,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 52
                          },
                          "end": {
                            "line": 70,
                            "column": 61
                          }
                        },
                        "name": "normalize"
                      },
                      "computed": false
                    },
                    "arguments": []
                  }
                }
              ],
              "kind": "var",
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "getting center (choose best of two cases)",
                  "start": 3313,
                  "end": 3356,
                  "loc": {
                    "start": {
                      "line": 71,
                      "column": 4
                    },
                    "end": {
                      "line": 71,
                      "column": 47
                    }
                  },
                  "range": [
                    3313,
                    3356
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 3361,
              "end": 3383,
              "loc": {
                "start": {
                  "line": 72,
                  "column": 4
                },
                "end": {
                  "line": 72,
                  "column": 26
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 3365,
                  "end": 3368,
                  "loc": {
                    "start": {
                      "line": 72,
                      "column": 8
                    },
                    "end": {
                      "line": 72,
                      "column": 11
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3365,
                    "end": 3368,
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 8
                      },
                      "end": {
                        "line": 72,
                        "column": 11
                      }
                    },
                    "name": "ctr",
                    "leadingComments": null
                  },
                  "init": null,
                  "leadingComments": null
                },
                {
                  "type": "VariableDeclarator",
                  "start": 3370,
                  "end": 3382,
                  "loc": {
                    "start": {
                      "line": 72,
                      "column": 13
                    },
                    "end": {
                      "line": 72,
                      "column": 25
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3370,
                    "end": 3374,
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 13
                      },
                      "end": {
                        "line": 72,
                        "column": 17
                      }
                    },
                    "name": "dist"
                  },
                  "init": {
                    "type": "Literal",
                    "start": 3377,
                    "end": 3382,
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 20
                      },
                      "end": {
                        "line": 72,
                        "column": 25
                      }
                    },
                    "value": 1e+50,
                    "rawValue": 1e+50,
                    "raw": "1e+50"
                  }
                }
              ],
              "kind": "var",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "getting center (choose best of two cases)",
                  "start": 3313,
                  "end": 3356,
                  "loc": {
                    "start": {
                      "line": 71,
                      "column": 4
                    },
                    "end": {
                      "line": 71,
                      "column": 47
                    }
                  },
                  "range": [
                    3313,
                    3356
                  ]
                }
              ]
            },
            {
              "type": "ForStatement",
              "start": 3388,
              "end": 3653,
              "loc": {
                "start": {
                  "line": 73,
                  "column": 4
                },
                "end": {
                  "line": 80,
                  "column": 5
                }
              },
              "init": {
                "type": "VariableDeclaration",
                "start": 3393,
                "end": 3402,
                "loc": {
                  "start": {
                    "line": 73,
                    "column": 9
                  },
                  "end": {
                    "line": 73,
                    "column": 18
                  }
                },
                "declarations": [
                  {
                    "type": "VariableDeclarator",
                    "start": 3397,
                    "end": 3402,
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 13
                      },
                      "end": {
                        "line": 73,
                        "column": 18
                      }
                    },
                    "id": {
                      "type": "Identifier",
                      "start": 3397,
                      "end": 3398,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 13
                        },
                        "end": {
                          "line": 73,
                          "column": 14
                        }
                      },
                      "name": "i"
                    },
                    "init": {
                      "type": "Literal",
                      "start": 3401,
                      "end": 3402,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 17
                        },
                        "end": {
                          "line": 73,
                          "column": 18
                        }
                      },
                      "value": 0,
                      "rawValue": 0,
                      "raw": "0"
                    }
                  }
                ],
                "kind": "var"
              },
              "test": {
                "type": "BinaryExpression",
                "start": 3404,
                "end": 3409,
                "loc": {
                  "start": {
                    "line": 73,
                    "column": 20
                  },
                  "end": {
                    "line": 73,
                    "column": 25
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 3404,
                  "end": 3405,
                  "loc": {
                    "start": {
                      "line": 73,
                      "column": 20
                    },
                    "end": {
                      "line": 73,
                      "column": 21
                    }
                  },
                  "name": "i"
                },
                "operator": "<",
                "right": {
                  "type": "Literal",
                  "start": 3408,
                  "end": 3409,
                  "loc": {
                    "start": {
                      "line": 73,
                      "column": 24
                    },
                    "end": {
                      "line": 73,
                      "column": 25
                    }
                  },
                  "value": 2,
                  "rawValue": 2,
                  "raw": "2"
                }
              },
              "update": {
                "type": "UpdateExpression",
                "start": 3411,
                "end": 3414,
                "loc": {
                  "start": {
                    "line": 73,
                    "column": 27
                  },
                  "end": {
                    "line": 73,
                    "column": 30
                  }
                },
                "operator": "++",
                "prefix": false,
                "argument": {
                  "type": "Identifier",
                  "start": 3411,
                  "end": 3412,
                  "loc": {
                    "start": {
                      "line": 73,
                      "column": 27
                    },
                    "end": {
                      "line": 73,
                      "column": 28
                    }
                  },
                  "name": "i"
                }
              },
              "body": {
                "type": "BlockStatement",
                "start": 3416,
                "end": 3653,
                "loc": {
                  "start": {
                    "line": 73,
                    "column": 32
                  },
                  "end": {
                    "line": 80,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 3426,
                    "end": 3492,
                    "loc": {
                      "start": {
                        "line": 74,
                        "column": 8
                      },
                      "end": {
                        "line": 74,
                        "column": 74
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 3430,
                        "end": 3491,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 12
                          },
                          "end": {
                            "line": 74,
                            "column": 73
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 3430,
                          "end": 3434,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 12
                            },
                            "end": {
                              "line": 74,
                              "column": 16
                            }
                          },
                          "name": "tCtr"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 3437,
                          "end": 3491,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 19
                            },
                            "end": {
                              "line": 74,
                              "column": 73
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 3437,
                            "end": 3486,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 19
                              },
                              "end": {
                                "line": 74,
                                "column": 68
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 3437,
                              "end": 3482,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 19
                                },
                                "end": {
                                  "line": 74,
                                  "column": 64
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3437,
                                "end": 3463,
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 45
                                  }
                                },
                                "object": {
                                  "type": "CallExpression",
                                  "start": 3437,
                                  "end": 3448,
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 30
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 3437,
                                    "end": 3446,
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 28
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 3437,
                                      "end": 3440,
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 22
                                        }
                                      },
                                      "name": "per"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3441,
                                      "end": 3446,
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 28
                                        }
                                      },
                                      "name": "clone"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3449,
                                  "end": 3463,
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 45
                                    }
                                  },
                                  "name": "multiplyScalar"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "start": 3464,
                                  "end": 3481,
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 63
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 3464,
                                    "end": 3470,
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 52
                                      }
                                    },
                                    "name": "height"
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "ConditionalExpression",
                                    "start": 3474,
                                    "end": 3480,
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 62
                                      }
                                    },
                                    "test": {
                                      "type": "Identifier",
                                      "start": 3474,
                                      "end": 3475,
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 57
                                        }
                                      },
                                      "name": "i"
                                    },
                                    "consequent": {
                                      "type": "Literal",
                                      "start": 3476,
                                      "end": 3477,
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 59
                                        }
                                      },
                                      "value": 1,
                                      "rawValue": 1,
                                      "raw": "1"
                                    },
                                    "alternate": {
                                      "type": "UnaryExpression",
                                      "start": 3478,
                                      "end": 3480,
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 60
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 62
                                        }
                                      },
                                      "operator": "-",
                                      "prefix": true,
                                      "argument": {
                                        "type": "Literal",
                                        "start": 3479,
                                        "end": 3480,
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 62
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      }
                                    },
                                    "parenthesizedExpression": true
                                  }
                                }
                              ]
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3483,
                              "end": 3486,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 65
                                },
                                "end": {
                                  "line": 74,
                                  "column": 68
                                }
                              },
                              "name": "add"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 3487,
                              "end": 3490,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 69
                                },
                                "end": {
                                  "line": 74,
                                  "column": 72
                                }
                              },
                              "name": "mid"
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 3501,
                    "end": 3559,
                    "loc": {
                      "start": {
                        "line": 75,
                        "column": 8
                      },
                      "end": {
                        "line": 75,
                        "column": 66
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 3505,
                        "end": 3558,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 12
                          },
                          "end": {
                            "line": 75,
                            "column": 65
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 3505,
                          "end": 3510,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 12
                            },
                            "end": {
                              "line": 75,
                              "column": 17
                            }
                          },
                          "name": "tDist"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 3513,
                          "end": 3558,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 20
                            },
                            "end": {
                              "line": 75,
                              "column": 65
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 3513,
                            "end": 3521,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 20
                              },
                              "end": {
                                "line": 75,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3513,
                              "end": 3517,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 20
                                },
                                "end": {
                                  "line": 75,
                                  "column": 24
                                }
                              },
                              "name": "Math"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3518,
                              "end": 3521,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 25
                                },
                                "end": {
                                  "line": 75,
                                  "column": 28
                                }
                              },
                              "name": "abs"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "BinaryExpression",
                              "start": 3522,
                              "end": 3557,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 29
                                },
                                "end": {
                                  "line": 75,
                                  "column": 64
                                }
                              },
                              "left": {
                                "type": "CallExpression",
                                "start": 3522,
                                "end": 3548,
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 75,
                                    "column": 55
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3522,
                                  "end": 3537,
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 75,
                                      "column": 44
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 3522,
                                    "end": 3526,
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 33
                                      }
                                    },
                                    "name": "tCtr"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3527,
                                    "end": 3537,
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 44
                                      }
                                    },
                                    "name": "distanceTo"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 3538,
                                    "end": 3547,
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 54
                                      }
                                    },
                                    "name": "middlePos"
                                  }
                                ]
                              },
                              "operator": "-",
                              "right": {
                                "type": "Identifier",
                                "start": 3551,
                                "end": 3557,
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 75,
                                    "column": 64
                                  }
                                },
                                "name": "radius"
                              }
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "IfStatement",
                    "start": 3568,
                    "end": 3647,
                    "loc": {
                      "start": {
                        "line": 76,
                        "column": 8
                      },
                      "end": {
                        "line": 79,
                        "column": 9
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 3572,
                      "end": 3584,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 12
                        },
                        "end": {
                          "line": 76,
                          "column": 24
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 3572,
                        "end": 3576,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 12
                          },
                          "end": {
                            "line": 76,
                            "column": 16
                          }
                        },
                        "name": "dist"
                      },
                      "operator": ">",
                      "right": {
                        "type": "Identifier",
                        "start": 3579,
                        "end": 3584,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 19
                          },
                          "end": {
                            "line": 76,
                            "column": 24
                          }
                        },
                        "name": "tDist"
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 3586,
                      "end": 3647,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 26
                        },
                        "end": {
                          "line": 79,
                          "column": 9
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 3600,
                          "end": 3613,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 12
                            },
                            "end": {
                              "line": 77,
                              "column": 25
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 3600,
                            "end": 3612,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 12
                              },
                              "end": {
                                "line": 77,
                                "column": 24
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 3600,
                              "end": 3604,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 12
                                },
                                "end": {
                                  "line": 77,
                                  "column": 16
                                }
                              },
                              "name": "dist"
                            },
                            "right": {
                              "type": "Identifier",
                              "start": 3607,
                              "end": 3612,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 19
                                },
                                "end": {
                                  "line": 77,
                                  "column": 24
                                }
                              },
                              "name": "tDist"
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 3626,
                          "end": 3637,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 12
                            },
                            "end": {
                              "line": 78,
                              "column": 23
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 3626,
                            "end": 3636,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 12
                              },
                              "end": {
                                "line": 78,
                                "column": 22
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 3626,
                              "end": 3629,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 12
                                },
                                "end": {
                                  "line": 78,
                                  "column": 15
                                }
                              },
                              "name": "ctr"
                            },
                            "right": {
                              "type": "Identifier",
                              "start": 3632,
                              "end": 3636,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 18
                                },
                                "end": {
                                  "line": 78,
                                  "column": 22
                                }
                              },
                              "name": "tCtr"
                            }
                          }
                        }
                      ]
                    },
                    "alternate": null
                  }
                ],
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "get polar angles of all points",
                  "start": 3658,
                  "end": 3690,
                  "loc": {
                    "start": {
                      "line": 81,
                      "column": 4
                    },
                    "end": {
                      "line": 81,
                      "column": 36
                    }
                  },
                  "range": [
                    3658,
                    3690
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 3695,
              "end": 3808,
              "loc": {
                "start": {
                  "line": 82,
                  "column": 4
                },
                "end": {
                  "line": 85,
                  "column": 6
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 3699,
                  "end": 3807,
                  "loc": {
                    "start": {
                      "line": 82,
                      "column": 8
                    },
                    "end": {
                      "line": 85,
                      "column": 5
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3699,
                    "end": 3707,
                    "loc": {
                      "start": {
                        "line": 82,
                        "column": 8
                      },
                      "end": {
                        "line": 82,
                        "column": 16
                      }
                    },
                    "name": "getAngle",
                    "leadingComments": null
                  },
                  "init": {
                    "type": "ArrowFunctionExpression",
                    "start": 3710,
                    "end": 3807,
                    "loc": {
                      "start": {
                        "line": 82,
                        "column": 19
                      },
                      "end": {
                        "line": 85,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 3711,
                        "end": 3714,
                        "loc": {
                          "start": {
                            "line": 82,
                            "column": 20
                          },
                          "end": {
                            "line": 82,
                            "column": 23
                          }
                        },
                        "name": "pos"
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 3719,
                      "end": 3807,
                      "loc": {
                        "start": {
                          "line": 82,
                          "column": 28
                        },
                        "end": {
                          "line": 85,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "VariableDeclaration",
                          "start": 3729,
                          "end": 3760,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 8
                            },
                            "end": {
                              "line": 83,
                              "column": 39
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 3733,
                              "end": 3759,
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 12
                                },
                                "end": {
                                  "line": 83,
                                  "column": 38
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 3733,
                                "end": 3736,
                                "loc": {
                                  "start": {
                                    "line": 83,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 83,
                                    "column": 15
                                  }
                                },
                                "name": "dir"
                              },
                              "init": {
                                "type": "CallExpression",
                                "start": 3739,
                                "end": 3759,
                                "loc": {
                                  "start": {
                                    "line": 83,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 83,
                                    "column": 38
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3739,
                                  "end": 3754,
                                  "loc": {
                                    "start": {
                                      "line": 83,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 83,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 3739,
                                    "end": 3750,
                                    "loc": {
                                      "start": {
                                        "line": 83,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 83,
                                        "column": 29
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 3739,
                                      "end": 3748,
                                      "loc": {
                                        "start": {
                                          "line": 83,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 83,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3739,
                                        "end": 3742,
                                        "loc": {
                                          "start": {
                                            "line": 83,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 83,
                                            "column": 21
                                          }
                                        },
                                        "name": "pos"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3743,
                                        "end": 3748,
                                        "loc": {
                                          "start": {
                                            "line": 83,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 83,
                                            "column": 27
                                          }
                                        },
                                        "name": "clone"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3751,
                                    "end": 3754,
                                    "loc": {
                                      "start": {
                                        "line": 83,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 83,
                                        "column": 33
                                      }
                                    },
                                    "name": "sub"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 3755,
                                    "end": 3758,
                                    "loc": {
                                      "start": {
                                        "line": 83,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 83,
                                        "column": 37
                                      }
                                    },
                                    "name": "ctr"
                                  }
                                ]
                              }
                            }
                          ],
                          "kind": "var"
                        },
                        {
                          "type": "ReturnStatement",
                          "start": 3769,
                          "end": 3801,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 8
                            },
                            "end": {
                              "line": 84,
                              "column": 40
                            }
                          },
                          "argument": {
                            "type": "CallExpression",
                            "start": 3776,
                            "end": 3800,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 15
                              },
                              "end": {
                                "line": 84,
                                "column": 39
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 3776,
                              "end": 3786,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 15
                                },
                                "end": {
                                  "line": 84,
                                  "column": 25
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3776,
                                "end": 3780,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 19
                                  }
                                },
                                "name": "Math"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3781,
                                "end": 3786,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 25
                                  }
                                },
                                "name": "atan2"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 3787,
                                "end": 3792,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3787,
                                  "end": 3790,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 29
                                    }
                                  },
                                  "name": "dir"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3791,
                                  "end": 3792,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 31
                                    }
                                  },
                                  "name": "y"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 3794,
                                "end": 3799,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 38
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3794,
                                  "end": 3797,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 36
                                    }
                                  },
                                  "name": "dir"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3798,
                                  "end": 3799,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 38
                                    }
                                  },
                                  "name": "x"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ]
                    }
                  },
                  "leadingComments": null
                }
              ],
              "kind": "var",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "get polar angles of all points",
                  "start": 3658,
                  "end": 3690,
                  "loc": {
                    "start": {
                      "line": 81,
                      "column": 4
                    },
                    "end": {
                      "line": 81,
                      "column": 36
                    }
                  },
                  "range": [
                    3658,
                    3690
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 3813,
              "end": 3847,
              "loc": {
                "start": {
                  "line": 86,
                  "column": 4
                },
                "end": {
                  "line": 86,
                  "column": 38
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 3817,
                  "end": 3846,
                  "loc": {
                    "start": {
                      "line": 86,
                      "column": 8
                    },
                    "end": {
                      "line": 86,
                      "column": 37
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3817,
                    "end": 3825,
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 8
                      },
                      "end": {
                        "line": 86,
                        "column": 16
                      }
                    },
                    "name": "startAng"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 3828,
                    "end": 3846,
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 19
                      },
                      "end": {
                        "line": 86,
                        "column": 37
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 3828,
                      "end": 3836,
                      "loc": {
                        "start": {
                          "line": 86,
                          "column": 19
                        },
                        "end": {
                          "line": 86,
                          "column": 27
                        }
                      },
                      "name": "getAngle"
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 3837,
                        "end": 3845,
                        "loc": {
                          "start": {
                            "line": 86,
                            "column": 28
                          },
                          "end": {
                            "line": 86,
                            "column": 36
                          }
                        },
                        "name": "startPos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 3852,
              "end": 3882,
              "loc": {
                "start": {
                  "line": 87,
                  "column": 4
                },
                "end": {
                  "line": 87,
                  "column": 34
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 3856,
                  "end": 3881,
                  "loc": {
                    "start": {
                      "line": 87,
                      "column": 8
                    },
                    "end": {
                      "line": 87,
                      "column": 33
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3856,
                    "end": 3862,
                    "loc": {
                      "start": {
                        "line": 87,
                        "column": 8
                      },
                      "end": {
                        "line": 87,
                        "column": 14
                      }
                    },
                    "name": "endAng"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 3865,
                    "end": 3881,
                    "loc": {
                      "start": {
                        "line": 87,
                        "column": 17
                      },
                      "end": {
                        "line": 87,
                        "column": 33
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 3865,
                      "end": 3873,
                      "loc": {
                        "start": {
                          "line": 87,
                          "column": 17
                        },
                        "end": {
                          "line": 87,
                          "column": 25
                        }
                      },
                      "name": "getAngle"
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 3874,
                        "end": 3880,
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 26
                          },
                          "end": {
                            "line": 87,
                            "column": 32
                          }
                        },
                        "name": "endPos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 3887,
              "end": 3923,
              "loc": {
                "start": {
                  "line": 88,
                  "column": 4
                },
                "end": {
                  "line": 88,
                  "column": 40
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 3891,
                  "end": 3922,
                  "loc": {
                    "start": {
                      "line": 88,
                      "column": 8
                    },
                    "end": {
                      "line": 88,
                      "column": 39
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3891,
                    "end": 3900,
                    "loc": {
                      "start": {
                        "line": 88,
                        "column": 8
                      },
                      "end": {
                        "line": 88,
                        "column": 17
                      }
                    },
                    "name": "middleAng"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 3903,
                    "end": 3922,
                    "loc": {
                      "start": {
                        "line": 88,
                        "column": 20
                      },
                      "end": {
                        "line": 88,
                        "column": 39
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 3903,
                      "end": 3911,
                      "loc": {
                        "start": {
                          "line": 88,
                          "column": 20
                        },
                        "end": {
                          "line": 88,
                          "column": 28
                        }
                      },
                      "name": "getAngle"
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 3912,
                        "end": 3921,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 29
                          },
                          "end": {
                            "line": 88,
                            "column": 38
                          }
                        },
                        "name": "middlePos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var",
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "check which part of circle to take",
                  "start": 3928,
                  "end": 3964,
                  "loc": {
                    "start": {
                      "line": 89,
                      "column": 4
                    },
                    "end": {
                      "line": 89,
                      "column": 40
                    }
                  },
                  "range": [
                    3928,
                    3964
                  ]
                }
              ]
            },
            {
              "type": "IfStatement",
              "start": 3969,
              "end": 4014,
              "loc": {
                "start": {
                  "line": 90,
                  "column": 4
                },
                "end": {
                  "line": 90,
                  "column": 49
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 3973,
                "end": 3990,
                "loc": {
                  "start": {
                    "line": 90,
                    "column": 8
                  },
                  "end": {
                    "line": 90,
                    "column": 25
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 3973,
                  "end": 3979,
                  "loc": {
                    "start": {
                      "line": 90,
                      "column": 8
                    },
                    "end": {
                      "line": 90,
                      "column": 14
                    }
                  },
                  "name": "endAng",
                  "leadingComments": null
                },
                "operator": "<",
                "right": {
                  "type": "Identifier",
                  "start": 3982,
                  "end": 3990,
                  "loc": {
                    "start": {
                      "line": 90,
                      "column": 17
                    },
                    "end": {
                      "line": 90,
                      "column": 25
                    }
                  },
                  "name": "startAng"
                },
                "leadingComments": null
              },
              "consequent": {
                "type": "ExpressionStatement",
                "start": 3992,
                "end": 4014,
                "loc": {
                  "start": {
                    "line": 90,
                    "column": 27
                  },
                  "end": {
                    "line": 90,
                    "column": 49
                  }
                },
                "expression": {
                  "type": "AssignmentExpression",
                  "start": 3992,
                  "end": 4013,
                  "loc": {
                    "start": {
                      "line": 90,
                      "column": 27
                    },
                    "end": {
                      "line": 90,
                      "column": 48
                    }
                  },
                  "operator": "+=",
                  "left": {
                    "type": "Identifier",
                    "start": 3992,
                    "end": 3998,
                    "loc": {
                      "start": {
                        "line": 90,
                        "column": 27
                      },
                      "end": {
                        "line": 90,
                        "column": 33
                      }
                    },
                    "name": "endAng"
                  },
                  "right": {
                    "type": "BinaryExpression",
                    "start": 4002,
                    "end": 4013,
                    "loc": {
                      "start": {
                        "line": 90,
                        "column": 37
                      },
                      "end": {
                        "line": 90,
                        "column": 48
                      }
                    },
                    "left": {
                      "type": "Literal",
                      "start": 4002,
                      "end": 4003,
                      "loc": {
                        "start": {
                          "line": 90,
                          "column": 37
                        },
                        "end": {
                          "line": 90,
                          "column": 38
                        }
                      },
                      "value": 2,
                      "rawValue": 2,
                      "raw": "2"
                    },
                    "operator": "*",
                    "right": {
                      "type": "MemberExpression",
                      "start": 4006,
                      "end": 4013,
                      "loc": {
                        "start": {
                          "line": 90,
                          "column": 41
                        },
                        "end": {
                          "line": 90,
                          "column": 48
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4006,
                        "end": 4010,
                        "loc": {
                          "start": {
                            "line": 90,
                            "column": 41
                          },
                          "end": {
                            "line": 90,
                            "column": 45
                          }
                        },
                        "name": "Math"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4011,
                        "end": 4013,
                        "loc": {
                          "start": {
                            "line": 90,
                            "column": 46
                          },
                          "end": {
                            "line": 90,
                            "column": 48
                          }
                        },
                        "name": "PI"
                      },
                      "computed": false
                    }
                  }
                }
              },
              "alternate": null,
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "check which part of circle to take",
                  "start": 3928,
                  "end": 3964,
                  "loc": {
                    "start": {
                      "line": 89,
                      "column": 4
                    },
                    "end": {
                      "line": 89,
                      "column": 40
                    }
                  },
                  "range": [
                    3928,
                    3964
                  ]
                }
              ]
            },
            {
              "type": "IfStatement",
              "start": 4019,
              "end": 4070,
              "loc": {
                "start": {
                  "line": 91,
                  "column": 4
                },
                "end": {
                  "line": 91,
                  "column": 55
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 4023,
                "end": 4043,
                "loc": {
                  "start": {
                    "line": 91,
                    "column": 8
                  },
                  "end": {
                    "line": 91,
                    "column": 28
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 4023,
                  "end": 4032,
                  "loc": {
                    "start": {
                      "line": 91,
                      "column": 8
                    },
                    "end": {
                      "line": 91,
                      "column": 17
                    }
                  },
                  "name": "middleAng"
                },
                "operator": "<",
                "right": {
                  "type": "Identifier",
                  "start": 4035,
                  "end": 4043,
                  "loc": {
                    "start": {
                      "line": 91,
                      "column": 20
                    },
                    "end": {
                      "line": 91,
                      "column": 28
                    }
                  },
                  "name": "startAng"
                }
              },
              "consequent": {
                "type": "ExpressionStatement",
                "start": 4045,
                "end": 4070,
                "loc": {
                  "start": {
                    "line": 91,
                    "column": 30
                  },
                  "end": {
                    "line": 91,
                    "column": 55
                  }
                },
                "expression": {
                  "type": "AssignmentExpression",
                  "start": 4045,
                  "end": 4069,
                  "loc": {
                    "start": {
                      "line": 91,
                      "column": 30
                    },
                    "end": {
                      "line": 91,
                      "column": 54
                    }
                  },
                  "operator": "+=",
                  "left": {
                    "type": "Identifier",
                    "start": 4045,
                    "end": 4054,
                    "loc": {
                      "start": {
                        "line": 91,
                        "column": 30
                      },
                      "end": {
                        "line": 91,
                        "column": 39
                      }
                    },
                    "name": "middleAng"
                  },
                  "right": {
                    "type": "BinaryExpression",
                    "start": 4058,
                    "end": 4069,
                    "loc": {
                      "start": {
                        "line": 91,
                        "column": 43
                      },
                      "end": {
                        "line": 91,
                        "column": 54
                      }
                    },
                    "left": {
                      "type": "Literal",
                      "start": 4058,
                      "end": 4059,
                      "loc": {
                        "start": {
                          "line": 91,
                          "column": 43
                        },
                        "end": {
                          "line": 91,
                          "column": 44
                        }
                      },
                      "value": 2,
                      "rawValue": 2,
                      "raw": "2"
                    },
                    "operator": "*",
                    "right": {
                      "type": "MemberExpression",
                      "start": 4062,
                      "end": 4069,
                      "loc": {
                        "start": {
                          "line": 91,
                          "column": 47
                        },
                        "end": {
                          "line": 91,
                          "column": 54
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4062,
                        "end": 4066,
                        "loc": {
                          "start": {
                            "line": 91,
                            "column": 47
                          },
                          "end": {
                            "line": 91,
                            "column": 51
                          }
                        },
                        "name": "Math"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4067,
                        "end": 4069,
                        "loc": {
                          "start": {
                            "line": 91,
                            "column": 52
                          },
                          "end": {
                            "line": 91,
                            "column": 54
                          }
                        },
                        "name": "PI"
                      },
                      "computed": false
                    }
                  }
                }
              },
              "alternate": null
            },
            {
              "type": "VariableDeclaration",
              "start": 4075,
              "end": 4112,
              "loc": {
                "start": {
                  "line": 92,
                  "column": 4
                },
                "end": {
                  "line": 92,
                  "column": 41
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 4079,
                  "end": 4111,
                  "loc": {
                    "start": {
                      "line": 92,
                      "column": 8
                    },
                    "end": {
                      "line": 92,
                      "column": 40
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 4079,
                    "end": 4088,
                    "loc": {
                      "start": {
                        "line": 92,
                        "column": 8
                      },
                      "end": {
                        "line": 92,
                        "column": 17
                      }
                    },
                    "name": "clockwise"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 4092,
                    "end": 4110,
                    "loc": {
                      "start": {
                        "line": 92,
                        "column": 21
                      },
                      "end": {
                        "line": 92,
                        "column": 39
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 4092,
                      "end": 4101,
                      "loc": {
                        "start": {
                          "line": 92,
                          "column": 21
                        },
                        "end": {
                          "line": 92,
                          "column": 30
                        }
                      },
                      "name": "middleAng"
                    },
                    "operator": ">",
                    "right": {
                      "type": "Identifier",
                      "start": 4104,
                      "end": 4110,
                      "loc": {
                        "start": {
                          "line": 92,
                          "column": 33
                        },
                        "end": {
                          "line": 92,
                          "column": 39
                        }
                      },
                      "name": "endAng"
                    },
                    "parenthesizedExpression": true
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "ReturnStatement",
              "start": 4118,
              "end": 4191,
              "loc": {
                "start": {
                  "line": 94,
                  "column": 4
                },
                "end": {
                  "line": 94,
                  "column": 77
                }
              },
              "argument": {
                "type": "ObjectExpression",
                "start": 4125,
                "end": 4190,
                "loc": {
                  "start": {
                    "line": 94,
                    "column": 11
                  },
                  "end": {
                    "line": 94,
                    "column": 76
                  }
                },
                "properties": [
                  {
                    "type": "Property",
                    "start": 4126,
                    "end": 4141,
                    "loc": {
                      "start": {
                        "line": 94,
                        "column": 12
                      },
                      "end": {
                        "line": 94,
                        "column": 27
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 4126,
                      "end": 4131,
                      "loc": {
                        "start": {
                          "line": 94,
                          "column": 12
                        },
                        "end": {
                          "line": 94,
                          "column": 17
                        }
                      },
                      "name": "start"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 4133,
                      "end": 4141,
                      "loc": {
                        "start": {
                          "line": 94,
                          "column": 19
                        },
                        "end": {
                          "line": 94,
                          "column": 27
                        }
                      },
                      "name": "startPos"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 4143,
                    "end": 4154,
                    "loc": {
                      "start": {
                        "line": 94,
                        "column": 29
                      },
                      "end": {
                        "line": 94,
                        "column": 40
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 4143,
                      "end": 4146,
                      "loc": {
                        "start": {
                          "line": 94,
                          "column": 29
                        },
                        "end": {
                          "line": 94,
                          "column": 32
                        }
                      },
                      "name": "end"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 4148,
                      "end": 4154,
                      "loc": {
                        "start": {
                          "line": 94,
                          "column": 34
                        },
                        "end": {
                          "line": 94,
                          "column": 40
                        }
                      },
                      "name": "endPos"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 4156,
                    "end": 4167,
                    "loc": {
                      "start": {
                        "line": 94,
                        "column": 42
                      },
                      "end": {
                        "line": 94,
                        "column": 53
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 4156,
                      "end": 4162,
                      "loc": {
                        "start": {
                          "line": 94,
                          "column": 42
                        },
                        "end": {
                          "line": 94,
                          "column": 48
                        }
                      },
                      "name": "center"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 4164,
                      "end": 4167,
                      "loc": {
                        "start": {
                          "line": 94,
                          "column": 50
                        },
                        "end": {
                          "line": 94,
                          "column": 53
                        }
                      },
                      "name": "ctr"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 4169,
                    "end": 4189,
                    "loc": {
                      "start": {
                        "line": 94,
                        "column": 55
                      },
                      "end": {
                        "line": 94,
                        "column": 75
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 4169,
                      "end": 4178,
                      "loc": {
                        "start": {
                          "line": 94,
                          "column": 55
                        },
                        "end": {
                          "line": 94,
                          "column": 64
                        }
                      },
                      "name": "clockwise"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 4180,
                      "end": 4189,
                      "loc": {
                        "start": {
                          "line": 94,
                          "column": 66
                        },
                        "end": {
                          "line": 94,
                          "column": 75
                        }
                      },
                      "name": "clockwise"
                    },
                    "kind": "init"
                  }
                ]
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": "Note: middle point should be within circlewith diameter [SE], otherwise it would be corrected",
            "start": 2327,
            "end": 2422,
            "loc": {
              "start": {
                "line": 53,
                "column": 0
              },
              "end": {
                "line": 53,
                "column": 95
              }
            },
            "range": [
              2327,
              2422
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": "Note: middle point should be within circlewith diameter [SE], otherwise it would be corrected",
          "start": 2327,
          "end": 2422,
          "loc": {
            "start": {
              "line": 53,
              "column": 0
            },
            "end": {
              "line": 53,
              "column": 95
            }
          },
          "range": [
            2327,
            2422
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 4195,
      "end": 7144,
      "loc": {
        "start": {
          "line": 97,
          "column": 0
        },
        "end": {
          "line": 184,
          "column": 1
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 4202,
        "end": 7144,
        "loc": {
          "start": {
            "line": 97,
            "column": 7
          },
          "end": {
            "line": 184,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 4211,
          "end": 4228,
          "loc": {
            "start": {
              "line": 97,
              "column": 16
            },
            "end": {
              "line": 97,
              "column": 33
            }
          },
          "name": "drawArcBy_Angle_M"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 4229,
            "end": 4238,
            "loc": {
              "start": {
                "line": 97,
                "column": 34
              },
              "end": {
                "line": 97,
                "column": 43
              }
            },
            "name": "vertexPos"
          },
          {
            "type": "Identifier",
            "start": 4240,
            "end": 4248,
            "loc": {
              "start": {
                "line": 97,
                "column": 45
              },
              "end": {
                "line": 97,
                "column": 53
              }
            },
            "name": "startDir"
          },
          {
            "type": "Identifier",
            "start": 4250,
            "end": 4256,
            "loc": {
              "start": {
                "line": 97,
                "column": 55
              },
              "end": {
                "line": 97,
                "column": 61
              }
            },
            "name": "endDir"
          },
          {
            "type": "Identifier",
            "start": 4258,
            "end": 4267,
            "loc": {
              "start": {
                "line": 97,
                "column": 63
              },
              "end": {
                "line": 97,
                "column": 72
              }
            },
            "name": "middlePos"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 4269,
          "end": 7144,
          "loc": {
            "start": {
              "line": 97,
              "column": 74
            },
            "end": {
              "line": 184,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 4293,
              "end": 4313,
              "loc": {
                "start": {
                  "line": 100,
                  "column": 4
                },
                "end": {
                  "line": 100,
                  "column": 24
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 4297,
                  "end": 4312,
                  "loc": {
                    "start": {
                      "line": 100,
                      "column": 8
                    },
                    "end": {
                      "line": 100,
                      "column": 23
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 4297,
                    "end": 4300,
                    "loc": {
                      "start": {
                        "line": 100,
                        "column": 8
                      },
                      "end": {
                        "line": 100,
                        "column": 11
                      }
                    },
                    "name": "len",
                    "leadingComments": null
                  },
                  "init": {
                    "type": "Identifier",
                    "start": 4303,
                    "end": 4312,
                    "loc": {
                      "start": {
                        "line": 100,
                        "column": 14
                      },
                      "end": {
                        "line": 100,
                        "column": 23
                      }
                    },
                    "name": "undefined"
                  },
                  "leadingComments": null
                }
              ],
              "kind": "var",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " to return",
                  "start": 4276,
                  "end": 4288,
                  "loc": {
                    "start": {
                      "line": 99,
                      "column": 4
                    },
                    "end": {
                      "line": 99,
                      "column": 16
                    }
                  },
                  "range": [
                    4276,
                    4288
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 4318,
              "end": 4356,
              "loc": {
                "start": {
                  "line": 101,
                  "column": 4
                },
                "end": {
                  "line": 101,
                  "column": 42
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 4322,
                  "end": 4355,
                  "loc": {
                    "start": {
                      "line": 101,
                      "column": 8
                    },
                    "end": {
                      "line": 101,
                      "column": 41
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 4322,
                    "end": 4328,
                    "loc": {
                      "start": {
                        "line": 101,
                        "column": 8
                      },
                      "end": {
                        "line": 101,
                        "column": 14
                      }
                    },
                    "name": "center"
                  },
                  "init": {
                    "type": "NewExpression",
                    "start": 4331,
                    "end": 4355,
                    "loc": {
                      "start": {
                        "line": 101,
                        "column": 17
                      },
                      "end": {
                        "line": 101,
                        "column": 41
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 4335,
                      "end": 4348,
                      "loc": {
                        "start": {
                          "line": 101,
                          "column": 21
                        },
                        "end": {
                          "line": 101,
                          "column": 34
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4335,
                        "end": 4340,
                        "loc": {
                          "start": {
                            "line": 101,
                            "column": 21
                          },
                          "end": {
                            "line": 101,
                            "column": 26
                          }
                        },
                        "name": "THREE"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4341,
                        "end": 4348,
                        "loc": {
                          "start": {
                            "line": 101,
                            "column": 27
                          },
                          "end": {
                            "line": 101,
                            "column": 34
                          }
                        },
                        "name": "Vector3"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Literal",
                        "start": 4349,
                        "end": 4350,
                        "loc": {
                          "start": {
                            "line": 101,
                            "column": 35
                          },
                          "end": {
                            "line": 101,
                            "column": 36
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Literal",
                        "start": 4351,
                        "end": 4352,
                        "loc": {
                          "start": {
                            "line": 101,
                            "column": 37
                          },
                          "end": {
                            "line": 101,
                            "column": 38
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Literal",
                        "start": 4353,
                        "end": 4354,
                        "loc": {
                          "start": {
                            "line": 101,
                            "column": 39
                          },
                          "end": {
                            "line": 101,
                            "column": 40
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 4362,
              "end": 4439,
              "loc": {
                "start": {
                  "line": 103,
                  "column": 4
                },
                "end": {
                  "line": 103,
                  "column": 81
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 4366,
                  "end": 4438,
                  "loc": {
                    "start": {
                      "line": 103,
                      "column": 8
                    },
                    "end": {
                      "line": 103,
                      "column": 80
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 4366,
                    "end": 4375,
                    "loc": {
                      "start": {
                        "line": 103,
                        "column": 8
                      },
                      "end": {
                        "line": 103,
                        "column": 17
                      }
                    },
                    "name": "centerDir"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 4378,
                    "end": 4438,
                    "loc": {
                      "start": {
                        "line": 103,
                        "column": 20
                      },
                      "end": {
                        "line": 103,
                        "column": 80
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 4378,
                      "end": 4436,
                      "loc": {
                        "start": {
                          "line": 103,
                          "column": 20
                        },
                        "end": {
                          "line": 103,
                          "column": 78
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 4378,
                        "end": 4426,
                        "loc": {
                          "start": {
                            "line": 103,
                            "column": 20
                          },
                          "end": {
                            "line": 103,
                            "column": 68
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4378,
                          "end": 4421,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 20
                            },
                            "end": {
                              "line": 103,
                              "column": 63
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 4378,
                            "end": 4406,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 20
                              },
                              "end": {
                                "line": 103,
                                "column": 48
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 4378,
                              "end": 4398,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 20
                                },
                                "end": {
                                  "line": 103,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 4378,
                                "end": 4394,
                                "loc": {
                                  "start": {
                                    "line": 103,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 103,
                                    "column": 36
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4378,
                                  "end": 4392,
                                  "loc": {
                                    "start": {
                                      "line": 103,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 103,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4378,
                                    "end": 4386,
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 103,
                                        "column": 28
                                      }
                                    },
                                    "name": "startDir"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4387,
                                    "end": 4392,
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 103,
                                        "column": 34
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4395,
                                "end": 4398,
                                "loc": {
                                  "start": {
                                    "line": 103,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 103,
                                    "column": 40
                                  }
                                },
                                "name": "add"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 4399,
                                "end": 4405,
                                "loc": {
                                  "start": {
                                    "line": 103,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 103,
                                    "column": 47
                                  }
                                },
                                "name": "endDir"
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4407,
                            "end": 4421,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 49
                              },
                              "end": {
                                "line": 103,
                                "column": 63
                              }
                            },
                            "name": "multiplyScalar"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 4422,
                            "end": 4425,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 64
                              },
                              "end": {
                                "line": 103,
                                "column": 67
                              }
                            },
                            "value": 0.5,
                            "rawValue": 0.5,
                            "raw": "0.5"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4427,
                        "end": 4436,
                        "loc": {
                          "start": {
                            "line": 103,
                            "column": 69
                          },
                          "end": {
                            "line": 103,
                            "column": 78
                          }
                        },
                        "name": "normalize"
                      },
                      "computed": false
                    },
                    "arguments": []
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 4444,
              "end": 4498,
              "loc": {
                "start": {
                  "line": 104,
                  "column": 4
                },
                "end": {
                  "line": 104,
                  "column": 58
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 4448,
                  "end": 4497,
                  "loc": {
                    "start": {
                      "line": 104,
                      "column": 8
                    },
                    "end": {
                      "line": 104,
                      "column": 57
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 4448,
                    "end": 4462,
                    "loc": {
                      "start": {
                        "line": 104,
                        "column": 8
                      },
                      "end": {
                        "line": 104,
                        "column": 22
                      }
                    },
                    "name": "vertexToMiddle"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 4465,
                    "end": 4497,
                    "loc": {
                      "start": {
                        "line": 104,
                        "column": 25
                      },
                      "end": {
                        "line": 104,
                        "column": 57
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 4465,
                      "end": 4486,
                      "loc": {
                        "start": {
                          "line": 104,
                          "column": 25
                        },
                        "end": {
                          "line": 104,
                          "column": 46
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 4465,
                        "end": 4482,
                        "loc": {
                          "start": {
                            "line": 104,
                            "column": 25
                          },
                          "end": {
                            "line": 104,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4465,
                          "end": 4480,
                          "loc": {
                            "start": {
                              "line": 104,
                              "column": 25
                            },
                            "end": {
                              "line": 104,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 4465,
                            "end": 4474,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 25
                              },
                              "end": {
                                "line": 104,
                                "column": 34
                              }
                            },
                            "name": "middlePos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4475,
                            "end": 4480,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 35
                              },
                              "end": {
                                "line": 104,
                                "column": 40
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4483,
                        "end": 4486,
                        "loc": {
                          "start": {
                            "line": 104,
                            "column": 43
                          },
                          "end": {
                            "line": 104,
                            "column": 46
                          }
                        },
                        "name": "sub"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 4487,
                        "end": 4496,
                        "loc": {
                          "start": {
                            "line": 104,
                            "column": 47
                          },
                          "end": {
                            "line": 104,
                            "column": 56
                          }
                        },
                        "name": "vertexPos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var",
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": " if radius is too small or middlepos and its projection to centerDir is out of filletAngle",
                  "start": 4504,
                  "end": 4596,
                  "loc": {
                    "start": {
                      "line": 106,
                      "column": 4
                    },
                    "end": {
                      "line": 106,
                      "column": 96
                    }
                  },
                  "range": [
                    4504,
                    4596
                  ]
                }
              ]
            },
            {
              "type": "IfStatement",
              "start": 4601,
              "end": 4694,
              "loc": {
                "start": {
                  "line": 107,
                  "column": 4
                },
                "end": {
                  "line": 108,
                  "column": 20
                }
              },
              "test": {
                "type": "LogicalExpression",
                "start": 4605,
                "end": 4672,
                "loc": {
                  "start": {
                    "line": 107,
                    "column": 8
                  },
                  "end": {
                    "line": 107,
                    "column": 75
                  }
                },
                "left": {
                  "type": "BinaryExpression",
                  "start": 4605,
                  "end": 4635,
                  "loc": {
                    "start": {
                      "line": 107,
                      "column": 8
                    },
                    "end": {
                      "line": 107,
                      "column": 38
                    }
                  },
                  "left": {
                    "type": "CallExpression",
                    "start": 4605,
                    "end": 4628,
                    "loc": {
                      "start": {
                        "line": 107,
                        "column": 8
                      },
                      "end": {
                        "line": 107,
                        "column": 31
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 4605,
                      "end": 4626,
                      "loc": {
                        "start": {
                          "line": 107,
                          "column": 8
                        },
                        "end": {
                          "line": 107,
                          "column": 29
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4605,
                        "end": 4619,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 8
                          },
                          "end": {
                            "line": 107,
                            "column": 22
                          }
                        },
                        "name": "vertexToMiddle",
                        "leadingComments": null
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4620,
                        "end": 4626,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 23
                          },
                          "end": {
                            "line": 107,
                            "column": 29
                          }
                        },
                        "name": "length"
                      },
                      "computed": false,
                      "leadingComments": null
                    },
                    "arguments": [],
                    "leadingComments": null
                  },
                  "operator": "<",
                  "right": {
                    "type": "Literal",
                    "start": 4631,
                    "end": 4635,
                    "loc": {
                      "start": {
                        "line": 107,
                        "column": 34
                      },
                      "end": {
                        "line": 107,
                        "column": 38
                      }
                    },
                    "value": 0.01,
                    "rawValue": 0.01,
                    "raw": "1e-2"
                  },
                  "leadingComments": null
                },
                "operator": "||",
                "right": {
                  "type": "BinaryExpression",
                  "start": 4639,
                  "end": 4672,
                  "loc": {
                    "start": {
                      "line": 107,
                      "column": 42
                    },
                    "end": {
                      "line": 107,
                      "column": 75
                    }
                  },
                  "left": {
                    "type": "CallExpression",
                    "start": 4639,
                    "end": 4668,
                    "loc": {
                      "start": {
                        "line": 107,
                        "column": 42
                      },
                      "end": {
                        "line": 107,
                        "column": 71
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 4639,
                      "end": 4657,
                      "loc": {
                        "start": {
                          "line": 107,
                          "column": 42
                        },
                        "end": {
                          "line": 107,
                          "column": 60
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4639,
                        "end": 4653,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 42
                          },
                          "end": {
                            "line": 107,
                            "column": 56
                          }
                        },
                        "name": "vertexToMiddle"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4654,
                        "end": 4657,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 57
                          },
                          "end": {
                            "line": 107,
                            "column": 60
                          }
                        },
                        "name": "dot"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 4658,
                        "end": 4667,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 61
                          },
                          "end": {
                            "line": 107,
                            "column": 70
                          }
                        },
                        "name": "centerDir"
                      }
                    ]
                  },
                  "operator": "<",
                  "right": {
                    "type": "Literal",
                    "start": 4671,
                    "end": 4672,
                    "loc": {
                      "start": {
                        "line": 107,
                        "column": 74
                      },
                      "end": {
                        "line": 107,
                        "column": 75
                      }
                    },
                    "value": 0,
                    "rawValue": 0,
                    "raw": "0"
                  }
                },
                "leadingComments": null
              },
              "consequent": {
                "type": "ReturnStatement",
                "start": 4682,
                "end": 4694,
                "loc": {
                  "start": {
                    "line": 108,
                    "column": 8
                  },
                  "end": {
                    "line": 108,
                    "column": 20
                  }
                },
                "argument": {
                  "type": "Literal",
                  "start": 4689,
                  "end": 4693,
                  "loc": {
                    "start": {
                      "line": 108,
                      "column": 15
                    },
                    "end": {
                      "line": 108,
                      "column": 19
                    }
                  },
                  "value": null,
                  "rawValue": null,
                  "raw": "null"
                },
                "trailingComments": null
              },
              "alternate": null,
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " if radius is too small or middlepos and its projection to centerDir is out of filletAngle",
                  "start": 4504,
                  "end": 4596,
                  "loc": {
                    "start": {
                      "line": 106,
                      "column": 4
                    },
                    "end": {
                      "line": 106,
                      "column": 96
                    }
                  },
                  "range": [
                    4504,
                    4596
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": " if  middlepos is out of filletAngle but its projection to centerDir isn't",
                  "start": 4700,
                  "end": 4776,
                  "loc": {
                    "start": {
                      "line": 110,
                      "column": 4
                    },
                    "end": {
                      "line": 110,
                      "column": 80
                    }
                  },
                  "range": [
                    4700,
                    4776
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 4781,
              "end": 4818,
              "loc": {
                "start": {
                  "line": 111,
                  "column": 4
                },
                "end": {
                  "line": 111,
                  "column": 41
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 4785,
                  "end": 4817,
                  "loc": {
                    "start": {
                      "line": 111,
                      "column": 8
                    },
                    "end": {
                      "line": 111,
                      "column": 40
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 4785,
                    "end": 4790,
                    "loc": {
                      "start": {
                        "line": 111,
                        "column": 8
                      },
                      "end": {
                        "line": 111,
                        "column": 13
                      }
                    },
                    "name": "alpha",
                    "leadingComments": null
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 4793,
                    "end": 4817,
                    "loc": {
                      "start": {
                        "line": 111,
                        "column": 16
                      },
                      "end": {
                        "line": 111,
                        "column": 40
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 4793,
                      "end": 4807,
                      "loc": {
                        "start": {
                          "line": 111,
                          "column": 16
                        },
                        "end": {
                          "line": 111,
                          "column": 30
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4793,
                        "end": 4799,
                        "loc": {
                          "start": {
                            "line": 111,
                            "column": 16
                          },
                          "end": {
                            "line": 111,
                            "column": 22
                          }
                        },
                        "name": "endDir"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4800,
                        "end": 4807,
                        "loc": {
                          "start": {
                            "line": 111,
                            "column": 23
                          },
                          "end": {
                            "line": 111,
                            "column": 30
                          }
                        },
                        "name": "angleTo"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 4808,
                        "end": 4816,
                        "loc": {
                          "start": {
                            "line": 111,
                            "column": 31
                          },
                          "end": {
                            "line": 111,
                            "column": 39
                          }
                        },
                        "name": "startDir"
                      }
                    ]
                  },
                  "leadingComments": null
                }
              ],
              "kind": "var",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " if  middlepos is out of filletAngle but its projection to centerDir isn't",
                  "start": 4700,
                  "end": 4776,
                  "loc": {
                    "start": {
                      "line": 110,
                      "column": 4
                    },
                    "end": {
                      "line": 110,
                      "column": 80
                    }
                  },
                  "range": [
                    4700,
                    4776
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 4823,
              "end": 4878,
              "loc": {
                "start": {
                  "line": 112,
                  "column": 4
                },
                "end": {
                  "line": 112,
                  "column": 59
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 4827,
                  "end": 4877,
                  "loc": {
                    "start": {
                      "line": 112,
                      "column": 8
                    },
                    "end": {
                      "line": 112,
                      "column": 58
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 4827,
                    "end": 4842,
                    "loc": {
                      "start": {
                        "line": 112,
                        "column": 8
                      },
                      "end": {
                        "line": 112,
                        "column": 23
                      }
                    },
                    "name": "angleMidToStart"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 4845,
                    "end": 4877,
                    "loc": {
                      "start": {
                        "line": 112,
                        "column": 26
                      },
                      "end": {
                        "line": 112,
                        "column": 58
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 4845,
                      "end": 4867,
                      "loc": {
                        "start": {
                          "line": 112,
                          "column": 26
                        },
                        "end": {
                          "line": 112,
                          "column": 48
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4845,
                        "end": 4859,
                        "loc": {
                          "start": {
                            "line": 112,
                            "column": 26
                          },
                          "end": {
                            "line": 112,
                            "column": 40
                          }
                        },
                        "name": "vertexToMiddle"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4860,
                        "end": 4867,
                        "loc": {
                          "start": {
                            "line": 112,
                            "column": 41
                          },
                          "end": {
                            "line": 112,
                            "column": 48
                          }
                        },
                        "name": "angleTo"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 4868,
                        "end": 4876,
                        "loc": {
                          "start": {
                            "line": 112,
                            "column": 49
                          },
                          "end": {
                            "line": 112,
                            "column": 57
                          }
                        },
                        "name": "startDir"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 4883,
              "end": 4934,
              "loc": {
                "start": {
                  "line": 113,
                  "column": 4
                },
                "end": {
                  "line": 113,
                  "column": 55
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 4887,
                  "end": 4933,
                  "loc": {
                    "start": {
                      "line": 113,
                      "column": 8
                    },
                    "end": {
                      "line": 113,
                      "column": 54
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 4887,
                    "end": 4900,
                    "loc": {
                      "start": {
                        "line": 113,
                        "column": 8
                      },
                      "end": {
                        "line": 113,
                        "column": 21
                      }
                    },
                    "name": "angleMidToEnd"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 4903,
                    "end": 4933,
                    "loc": {
                      "start": {
                        "line": 113,
                        "column": 24
                      },
                      "end": {
                        "line": 113,
                        "column": 54
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 4903,
                      "end": 4925,
                      "loc": {
                        "start": {
                          "line": 113,
                          "column": 24
                        },
                        "end": {
                          "line": 113,
                          "column": 46
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4903,
                        "end": 4917,
                        "loc": {
                          "start": {
                            "line": 113,
                            "column": 24
                          },
                          "end": {
                            "line": 113,
                            "column": 38
                          }
                        },
                        "name": "vertexToMiddle"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4918,
                        "end": 4925,
                        "loc": {
                          "start": {
                            "line": 113,
                            "column": 39
                          },
                          "end": {
                            "line": 113,
                            "column": 46
                          }
                        },
                        "name": "angleTo"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 4926,
                        "end": 4932,
                        "loc": {
                          "start": {
                            "line": 113,
                            "column": 47
                          },
                          "end": {
                            "line": 113,
                            "column": 53
                          }
                        },
                        "name": "endDir"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 4940,
              "end": 5003,
              "loc": {
                "start": {
                  "line": 115,
                  "column": 4
                },
                "end": {
                  "line": 115,
                  "column": 67
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 4944,
                  "end": 5002,
                  "loc": {
                    "start": {
                      "line": 115,
                      "column": 8
                    },
                    "end": {
                      "line": 115,
                      "column": 66
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 4944,
                    "end": 4952,
                    "loc": {
                      "start": {
                        "line": 115,
                        "column": 8
                      },
                      "end": {
                        "line": 115,
                        "column": 16
                      }
                    },
                    "name": "maxAngle"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 4955,
                    "end": 5002,
                    "loc": {
                      "start": {
                        "line": 115,
                        "column": 19
                      },
                      "end": {
                        "line": 115,
                        "column": 66
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 4955,
                      "end": 4963,
                      "loc": {
                        "start": {
                          "line": 115,
                          "column": 19
                        },
                        "end": {
                          "line": 115,
                          "column": 27
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4955,
                        "end": 4959,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 19
                          },
                          "end": {
                            "line": 115,
                            "column": 23
                          }
                        },
                        "name": "Math"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4960,
                        "end": 4963,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 24
                          },
                          "end": {
                            "line": 115,
                            "column": 27
                          }
                        },
                        "name": "max"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 4964,
                        "end": 4979,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 28
                          },
                          "end": {
                            "line": 115,
                            "column": 43
                          }
                        },
                        "name": "angleMidToStart"
                      },
                      {
                        "type": "Identifier",
                        "start": 4981,
                        "end": 4994,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 45
                          },
                          "end": {
                            "line": 115,
                            "column": 58
                          }
                        },
                        "name": "angleMidToEnd"
                      },
                      {
                        "type": "Identifier",
                        "start": 4996,
                        "end": 5001,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 60
                          },
                          "end": {
                            "line": 115,
                            "column": 65
                          }
                        },
                        "name": "alpha"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "IfStatement",
              "start": 5008,
              "end": 5244,
              "loc": {
                "start": {
                  "line": 116,
                  "column": 4
                },
                "end": {
                  "line": 123,
                  "column": 5
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 5012,
                "end": 5030,
                "loc": {
                  "start": {
                    "line": 116,
                    "column": 8
                  },
                  "end": {
                    "line": 116,
                    "column": 26
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 5012,
                  "end": 5020,
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 8
                    },
                    "end": {
                      "line": 116,
                      "column": 16
                    }
                  },
                  "name": "maxAngle"
                },
                "operator": "!==",
                "right": {
                  "type": "Identifier",
                  "start": 5025,
                  "end": 5030,
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 21
                    },
                    "end": {
                      "line": 116,
                      "column": 26
                    }
                  },
                  "name": "alpha"
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 5032,
                "end": 5244,
                "loc": {
                  "start": {
                    "line": 116,
                    "column": 28
                  },
                  "end": {
                    "line": 123,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 5042,
                    "end": 5238,
                    "loc": {
                      "start": {
                        "line": 117,
                        "column": 8
                      },
                      "end": {
                        "line": 122,
                        "column": 9
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 5046,
                      "end": 5074,
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 12
                        },
                        "end": {
                          "line": 117,
                          "column": 40
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 5046,
                        "end": 5061,
                        "loc": {
                          "start": {
                            "line": 117,
                            "column": 12
                          },
                          "end": {
                            "line": 117,
                            "column": 27
                          }
                        },
                        "name": "angleMidToStart"
                      },
                      "operator": "===",
                      "right": {
                        "type": "Identifier",
                        "start": 5066,
                        "end": 5074,
                        "loc": {
                          "start": {
                            "line": 117,
                            "column": 32
                          },
                          "end": {
                            "line": 117,
                            "column": 40
                          }
                        },
                        "name": "maxAngle"
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 5076,
                      "end": 5133,
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 42
                        },
                        "end": {
                          "line": 119,
                          "column": 9
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 5090,
                          "end": 5123,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 12
                            },
                            "end": {
                              "line": 118,
                              "column": 45
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 5090,
                            "end": 5122,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 12
                              },
                              "end": {
                                "line": 118,
                                "column": 44
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 5090,
                              "end": 5093,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 12
                                },
                                "end": {
                                  "line": 118,
                                  "column": 15
                                }
                              },
                              "name": "len"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 5096,
                              "end": 5122,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 18
                                },
                                "end": {
                                  "line": 118,
                                  "column": 44
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 5096,
                                "end": 5114,
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 5096,
                                  "end": 5110,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 32
                                    }
                                  },
                                  "name": "vertexToMiddle"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5111,
                                  "end": 5114,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 36
                                    }
                                  },
                                  "name": "dot"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 5115,
                                  "end": 5121,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 43
                                    }
                                  },
                                  "name": "endDir"
                                }
                              ]
                            }
                          }
                        }
                      ]
                    },
                    "alternate": {
                      "type": "IfStatement",
                      "start": 5147,
                      "end": 5238,
                      "loc": {
                        "start": {
                          "line": 120,
                          "column": 13
                        },
                        "end": {
                          "line": 122,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 5151,
                        "end": 5177,
                        "loc": {
                          "start": {
                            "line": 120,
                            "column": 17
                          },
                          "end": {
                            "line": 120,
                            "column": 43
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 5151,
                          "end": 5164,
                          "loc": {
                            "start": {
                              "line": 120,
                              "column": 17
                            },
                            "end": {
                              "line": 120,
                              "column": 30
                            }
                          },
                          "name": "angleMidToEnd"
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 5169,
                          "end": 5177,
                          "loc": {
                            "start": {
                              "line": 120,
                              "column": 35
                            },
                            "end": {
                              "line": 120,
                              "column": 43
                            }
                          },
                          "name": "maxAngle"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 5179,
                        "end": 5238,
                        "loc": {
                          "start": {
                            "line": 120,
                            "column": 45
                          },
                          "end": {
                            "line": 122,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 5193,
                            "end": 5228,
                            "loc": {
                              "start": {
                                "line": 121,
                                "column": 12
                              },
                              "end": {
                                "line": 121,
                                "column": 47
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 5193,
                              "end": 5227,
                              "loc": {
                                "start": {
                                  "line": 121,
                                  "column": 12
                                },
                                "end": {
                                  "line": 121,
                                  "column": 46
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 5193,
                                "end": 5196,
                                "loc": {
                                  "start": {
                                    "line": 121,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 121,
                                    "column": 15
                                  }
                                },
                                "name": "len"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 5199,
                                "end": 5227,
                                "loc": {
                                  "start": {
                                    "line": 121,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 121,
                                    "column": 46
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 5199,
                                  "end": 5217,
                                  "loc": {
                                    "start": {
                                      "line": 121,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 121,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 5199,
                                    "end": 5213,
                                    "loc": {
                                      "start": {
                                        "line": 121,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 121,
                                        "column": 32
                                      }
                                    },
                                    "name": "vertexToMiddle"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5214,
                                    "end": 5217,
                                    "loc": {
                                      "start": {
                                        "line": 121,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 121,
                                        "column": 36
                                      }
                                    },
                                    "name": "dot"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 5218,
                                    "end": 5226,
                                    "loc": {
                                      "start": {
                                        "line": 121,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 121,
                                        "column": 45
                                      }
                                    },
                                    "name": "startDir"
                                  }
                                ]
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    }
                  }
                ]
              },
              "alternate": null
            },
            {
              "type": "IfStatement",
              "start": 5250,
              "end": 5646,
              "loc": {
                "start": {
                  "line": 125,
                  "column": 4
                },
                "end": {
                  "line": 133,
                  "column": 5
                }
              },
              "test": {
                "type": "Identifier",
                "start": 5254,
                "end": 5257,
                "loc": {
                  "start": {
                    "line": 125,
                    "column": 8
                  },
                  "end": {
                    "line": 125,
                    "column": 11
                  }
                },
                "name": "len"
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 5259,
                "end": 5646,
                "loc": {
                  "start": {
                    "line": 125,
                    "column": 13
                  },
                  "end": {
                    "line": 133,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 5269,
                    "end": 5357,
                    "loc": {
                      "start": {
                        "line": 126,
                        "column": 8
                      },
                      "end": {
                        "line": 126,
                        "column": 96
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5269,
                      "end": 5356,
                      "loc": {
                        "start": {
                          "line": 126,
                          "column": 8
                        },
                        "end": {
                          "line": 126,
                          "column": 95
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 5269,
                        "end": 5275,
                        "loc": {
                          "start": {
                            "line": 126,
                            "column": 8
                          },
                          "end": {
                            "line": 126,
                            "column": 14
                          }
                        },
                        "name": "center"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 5278,
                        "end": 5356,
                        "loc": {
                          "start": {
                            "line": 126,
                            "column": 17
                          },
                          "end": {
                            "line": 126,
                            "column": 95
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5278,
                          "end": 5299,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 17
                            },
                            "end": {
                              "line": 126,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 5278,
                            "end": 5295,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 17
                              },
                              "end": {
                                "line": 126,
                                "column": 34
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 5278,
                              "end": 5293,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 17
                                },
                                "end": {
                                  "line": 126,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5278,
                                "end": 5287,
                                "loc": {
                                  "start": {
                                    "line": 126,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 126,
                                    "column": 26
                                  }
                                },
                                "name": "vertexPos"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5288,
                                "end": 5293,
                                "loc": {
                                  "start": {
                                    "line": 126,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 126,
                                    "column": 32
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5296,
                            "end": 5299,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 35
                              },
                              "end": {
                                "line": 126,
                                "column": 38
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 5300,
                            "end": 5355,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 39
                              },
                              "end": {
                                "line": 126,
                                "column": 94
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 5300,
                              "end": 5332,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 39
                                },
                                "end": {
                                  "line": 126,
                                  "column": 71
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 5300,
                                "end": 5317,
                                "loc": {
                                  "start": {
                                    "line": 126,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 126,
                                    "column": 56
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 5300,
                                  "end": 5315,
                                  "loc": {
                                    "start": {
                                      "line": 126,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 126,
                                      "column": 54
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 5300,
                                    "end": 5309,
                                    "loc": {
                                      "start": {
                                        "line": 126,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 126,
                                        "column": 48
                                      }
                                    },
                                    "name": "centerDir"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5310,
                                    "end": 5315,
                                    "loc": {
                                      "start": {
                                        "line": 126,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 126,
                                        "column": 54
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5318,
                                "end": 5332,
                                "loc": {
                                  "start": {
                                    "line": 126,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 126,
                                    "column": 71
                                  }
                                },
                                "name": "multiplyScalar"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "BinaryExpression",
                                "start": 5333,
                                "end": 5354,
                                "loc": {
                                  "start": {
                                    "line": 126,
                                    "column": 72
                                  },
                                  "end": {
                                    "line": 126,
                                    "column": 93
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 5333,
                                  "end": 5336,
                                  "loc": {
                                    "start": {
                                      "line": 126,
                                      "column": 72
                                    },
                                    "end": {
                                      "line": 126,
                                      "column": 75
                                    }
                                  },
                                  "name": "len"
                                },
                                "operator": "/",
                                "right": {
                                  "type": "CallExpression",
                                  "start": 5337,
                                  "end": 5354,
                                  "loc": {
                                    "start": {
                                      "line": 126,
                                      "column": 76
                                    },
                                    "end": {
                                      "line": 126,
                                      "column": 93
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 5337,
                                    "end": 5345,
                                    "loc": {
                                      "start": {
                                        "line": 126,
                                        "column": 76
                                      },
                                      "end": {
                                        "line": 126,
                                        "column": 84
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 5337,
                                      "end": 5341,
                                      "loc": {
                                        "start": {
                                          "line": 126,
                                          "column": 76
                                        },
                                        "end": {
                                          "line": 126,
                                          "column": 80
                                        }
                                      },
                                      "name": "Math"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5342,
                                      "end": 5345,
                                      "loc": {
                                        "start": {
                                          "line": 126,
                                          "column": 81
                                        },
                                        "end": {
                                          "line": 126,
                                          "column": 84
                                        }
                                      },
                                      "name": "cos"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "BinaryExpression",
                                      "start": 5346,
                                      "end": 5353,
                                      "loc": {
                                        "start": {
                                          "line": 126,
                                          "column": 85
                                        },
                                        "end": {
                                          "line": 126,
                                          "column": 92
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 5346,
                                        "end": 5351,
                                        "loc": {
                                          "start": {
                                            "line": 126,
                                            "column": 85
                                          },
                                          "end": {
                                            "line": 126,
                                            "column": 90
                                          }
                                        },
                                        "name": "alpha"
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "Literal",
                                        "start": 5352,
                                        "end": 5353,
                                        "loc": {
                                          "start": {
                                            "line": 126,
                                            "column": 91
                                          },
                                          "end": {
                                            "line": 126,
                                            "column": 92
                                          }
                                        },
                                        "value": 2,
                                        "rawValue": 2,
                                        "raw": "2"
                                      }
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        ]
                      }
                    },
                    "trailingComments": [
                      {
                        "type": "CommentLine",
                        "value": " fillet angle < 180 => cos(alpha/2) != 0",
                        "start": 5358,
                        "end": 5400,
                        "loc": {
                          "start": {
                            "line": 126,
                            "column": 97
                          },
                          "end": {
                            "line": 126,
                            "column": 139
                          }
                        },
                        "range": [
                          5358,
                          5400
                        ]
                      }
                    ]
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 5409,
                    "end": 5640,
                    "loc": {
                      "start": {
                        "line": 127,
                        "column": 8
                      },
                      "end": {
                        "line": 132,
                        "column": 10
                      }
                    },
                    "argument": {
                      "type": "ObjectExpression",
                      "start": 5416,
                      "end": 5639,
                      "loc": {
                        "start": {
                          "line": 127,
                          "column": 15
                        },
                        "end": {
                          "line": 132,
                          "column": 9
                        }
                      },
                      "properties": [
                        {
                          "type": "Property",
                          "start": 5430,
                          "end": 5496,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 12
                            },
                            "end": {
                              "line": 128,
                              "column": 78
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 5430,
                            "end": 5435,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 12
                              },
                              "end": {
                                "line": 128,
                                "column": 17
                              }
                            },
                            "name": "start",
                            "leadingComments": null
                          },
                          "value": {
                            "type": "CallExpression",
                            "start": 5437,
                            "end": 5496,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 19
                              },
                              "end": {
                                "line": 128,
                                "column": 78
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 5437,
                              "end": 5458,
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 19
                                },
                                "end": {
                                  "line": 128,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 5437,
                                "end": 5454,
                                "loc": {
                                  "start": {
                                    "line": 128,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 128,
                                    "column": 36
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 5437,
                                  "end": 5452,
                                  "loc": {
                                    "start": {
                                      "line": 128,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 128,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 5437,
                                    "end": 5446,
                                    "loc": {
                                      "start": {
                                        "line": 128,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 128,
                                        "column": 28
                                      }
                                    },
                                    "name": "vertexPos"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5447,
                                    "end": 5452,
                                    "loc": {
                                      "start": {
                                        "line": 128,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 128,
                                        "column": 34
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5455,
                                "end": 5458,
                                "loc": {
                                  "start": {
                                    "line": 128,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 128,
                                    "column": 40
                                  }
                                },
                                "name": "add"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 5459,
                                "end": 5495,
                                "loc": {
                                  "start": {
                                    "line": 128,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 128,
                                    "column": 77
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 5459,
                                  "end": 5490,
                                  "loc": {
                                    "start": {
                                      "line": 128,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 128,
                                      "column": 72
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 5459,
                                    "end": 5475,
                                    "loc": {
                                      "start": {
                                        "line": 128,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 128,
                                        "column": 57
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 5459,
                                      "end": 5473,
                                      "loc": {
                                        "start": {
                                          "line": 128,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 128,
                                          "column": 55
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 5459,
                                        "end": 5467,
                                        "loc": {
                                          "start": {
                                            "line": 128,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 128,
                                            "column": 49
                                          }
                                        },
                                        "name": "startDir"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 5468,
                                        "end": 5473,
                                        "loc": {
                                          "start": {
                                            "line": 128,
                                            "column": 50
                                          },
                                          "end": {
                                            "line": 128,
                                            "column": 55
                                          }
                                        },
                                        "name": "clone"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5476,
                                    "end": 5490,
                                    "loc": {
                                      "start": {
                                        "line": 128,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 128,
                                        "column": 72
                                      }
                                    },
                                    "name": "multiplyScalar"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 5491,
                                    "end": 5494,
                                    "loc": {
                                      "start": {
                                        "line": 128,
                                        "column": 73
                                      },
                                      "end": {
                                        "line": 128,
                                        "column": 76
                                      }
                                    },
                                    "name": "len"
                                  }
                                ]
                              }
                            ]
                          },
                          "kind": "init",
                          "leadingComments": null
                        },
                        {
                          "type": "Property",
                          "start": 5510,
                          "end": 5572,
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 12
                            },
                            "end": {
                              "line": 129,
                              "column": 74
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 5510,
                            "end": 5513,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 12
                              },
                              "end": {
                                "line": 129,
                                "column": 15
                              }
                            },
                            "name": "end"
                          },
                          "value": {
                            "type": "CallExpression",
                            "start": 5515,
                            "end": 5572,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 17
                              },
                              "end": {
                                "line": 129,
                                "column": 74
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 5515,
                              "end": 5536,
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 17
                                },
                                "end": {
                                  "line": 129,
                                  "column": 38
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 5515,
                                "end": 5532,
                                "loc": {
                                  "start": {
                                    "line": 129,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 129,
                                    "column": 34
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 5515,
                                  "end": 5530,
                                  "loc": {
                                    "start": {
                                      "line": 129,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 129,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 5515,
                                    "end": 5524,
                                    "loc": {
                                      "start": {
                                        "line": 129,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 129,
                                        "column": 26
                                      }
                                    },
                                    "name": "vertexPos"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5525,
                                    "end": 5530,
                                    "loc": {
                                      "start": {
                                        "line": 129,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 129,
                                        "column": 32
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5533,
                                "end": 5536,
                                "loc": {
                                  "start": {
                                    "line": 129,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 129,
                                    "column": 38
                                  }
                                },
                                "name": "add"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 5537,
                                "end": 5571,
                                "loc": {
                                  "start": {
                                    "line": 129,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 129,
                                    "column": 73
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 5537,
                                  "end": 5566,
                                  "loc": {
                                    "start": {
                                      "line": 129,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 129,
                                      "column": 68
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 5537,
                                    "end": 5551,
                                    "loc": {
                                      "start": {
                                        "line": 129,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 129,
                                        "column": 53
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 5537,
                                      "end": 5549,
                                      "loc": {
                                        "start": {
                                          "line": 129,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 129,
                                          "column": 51
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 5537,
                                        "end": 5543,
                                        "loc": {
                                          "start": {
                                            "line": 129,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 129,
                                            "column": 45
                                          }
                                        },
                                        "name": "endDir"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 5544,
                                        "end": 5549,
                                        "loc": {
                                          "start": {
                                            "line": 129,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 129,
                                            "column": 51
                                          }
                                        },
                                        "name": "clone"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5552,
                                    "end": 5566,
                                    "loc": {
                                      "start": {
                                        "line": 129,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 129,
                                        "column": 68
                                      }
                                    },
                                    "name": "multiplyScalar"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 5567,
                                    "end": 5570,
                                    "loc": {
                                      "start": {
                                        "line": 129,
                                        "column": 69
                                      },
                                      "end": {
                                        "line": 129,
                                        "column": 72
                                      }
                                    },
                                    "name": "len"
                                  }
                                ]
                              }
                            ]
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 5586,
                          "end": 5600,
                          "loc": {
                            "start": {
                              "line": 130,
                              "column": 12
                            },
                            "end": {
                              "line": 130,
                              "column": 26
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 5586,
                            "end": 5592,
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 12
                              },
                              "end": {
                                "line": 130,
                                "column": 18
                              }
                            },
                            "name": "center"
                          },
                          "value": {
                            "type": "Identifier",
                            "start": 5594,
                            "end": 5600,
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 20
                              },
                              "end": {
                                "line": 130,
                                "column": 26
                              }
                            },
                            "name": "center"
                          },
                          "kind": "init"
                        },
                        {
                          "type": "Property",
                          "start": 5614,
                          "end": 5629,
                          "loc": {
                            "start": {
                              "line": 131,
                              "column": 12
                            },
                            "end": {
                              "line": 131,
                              "column": 27
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 5614,
                            "end": 5623,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 12
                              },
                              "end": {
                                "line": 131,
                                "column": 21
                              }
                            },
                            "name": "clockwise"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 5625,
                            "end": 5629,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 23
                              },
                              "end": {
                                "line": 131,
                                "column": 27
                              }
                            },
                            "value": true,
                            "rawValue": true,
                            "raw": "true"
                          },
                          "kind": "init"
                        }
                      ],
                      "leadingComments": null
                    },
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " fillet angle < 180 => cos(alpha/2) != 0",
                        "start": 5358,
                        "end": 5400,
                        "loc": {
                          "start": {
                            "line": 126,
                            "column": 97
                          },
                          "end": {
                            "line": 126,
                            "column": 139
                          }
                        },
                        "range": [
                          5358,
                          5400
                        ]
                      }
                    ]
                  }
                ]
              },
              "alternate": null
            },
            {
              "type": "VariableDeclaration",
              "start": 5653,
              "end": 5702,
              "loc": {
                "start": {
                  "line": 136,
                  "column": 4
                },
                "end": {
                  "line": 136,
                  "column": 53
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 5657,
                  "end": 5701,
                  "loc": {
                    "start": {
                      "line": 136,
                      "column": 8
                    },
                    "end": {
                      "line": 136,
                      "column": 52
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 5657,
                    "end": 5666,
                    "loc": {
                      "start": {
                        "line": 136,
                        "column": 8
                      },
                      "end": {
                        "line": 136,
                        "column": 17
                      }
                    },
                    "name": "middleNew"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 5669,
                    "end": 5701,
                    "loc": {
                      "start": {
                        "line": 136,
                        "column": 20
                      },
                      "end": {
                        "line": 136,
                        "column": 52
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 5669,
                      "end": 5690,
                      "loc": {
                        "start": {
                          "line": 136,
                          "column": 20
                        },
                        "end": {
                          "line": 136,
                          "column": 41
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 5669,
                        "end": 5686,
                        "loc": {
                          "start": {
                            "line": 136,
                            "column": 20
                          },
                          "end": {
                            "line": 136,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5669,
                          "end": 5684,
                          "loc": {
                            "start": {
                              "line": 136,
                              "column": 20
                            },
                            "end": {
                              "line": 136,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5669,
                            "end": 5678,
                            "loc": {
                              "start": {
                                "line": 136,
                                "column": 20
                              },
                              "end": {
                                "line": 136,
                                "column": 29
                              }
                            },
                            "name": "middlePos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5679,
                            "end": 5684,
                            "loc": {
                              "start": {
                                "line": 136,
                                "column": 30
                              },
                              "end": {
                                "line": 136,
                                "column": 35
                              }
                            },
                            "name": "clone"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5687,
                        "end": 5690,
                        "loc": {
                          "start": {
                            "line": 136,
                            "column": 38
                          },
                          "end": {
                            "line": 136,
                            "column": 41
                          }
                        },
                        "name": "sub"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 5691,
                        "end": 5700,
                        "loc": {
                          "start": {
                            "line": 136,
                            "column": 42
                          },
                          "end": {
                            "line": 136,
                            "column": 51
                          }
                        },
                        "name": "vertexPos"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 5708,
              "end": 5755,
              "loc": {
                "start": {
                  "line": 138,
                  "column": 4
                },
                "end": {
                  "line": 138,
                  "column": 51
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 5712,
                  "end": 5754,
                  "loc": {
                    "start": {
                      "line": 138,
                      "column": 8
                    },
                    "end": {
                      "line": 138,
                      "column": 50
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 5712,
                    "end": 5719,
                    "loc": {
                      "start": {
                        "line": 138,
                        "column": 8
                      },
                      "end": {
                        "line": 138,
                        "column": 15
                      }
                    },
                    "name": "sinA2Sq"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 5722,
                    "end": 5754,
                    "loc": {
                      "start": {
                        "line": 138,
                        "column": 18
                      },
                      "end": {
                        "line": 138,
                        "column": 50
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 5722,
                      "end": 5730,
                      "loc": {
                        "start": {
                          "line": 138,
                          "column": 18
                        },
                        "end": {
                          "line": 138,
                          "column": 26
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 5722,
                        "end": 5726,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 18
                          },
                          "end": {
                            "line": 138,
                            "column": 22
                          }
                        },
                        "name": "Math"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5727,
                        "end": 5730,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 23
                          },
                          "end": {
                            "line": 138,
                            "column": 26
                          }
                        },
                        "name": "pow"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "CallExpression",
                        "start": 5731,
                        "end": 5750,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 27
                          },
                          "end": {
                            "line": 138,
                            "column": 46
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5731,
                          "end": 5739,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 27
                            },
                            "end": {
                              "line": 138,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5731,
                            "end": 5735,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 27
                              },
                              "end": {
                                "line": 138,
                                "column": 31
                              }
                            },
                            "name": "Math"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5736,
                            "end": 5739,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 32
                              },
                              "end": {
                                "line": 138,
                                "column": 35
                              }
                            },
                            "name": "sin"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 5740,
                            "end": 5749,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 36
                              },
                              "end": {
                                "line": 138,
                                "column": 45
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 5740,
                              "end": 5745,
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 36
                                },
                                "end": {
                                  "line": 138,
                                  "column": 41
                                }
                              },
                              "name": "alpha"
                            },
                            "operator": "/",
                            "right": {
                              "type": "Literal",
                              "start": 5748,
                              "end": 5749,
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 44
                                },
                                "end": {
                                  "line": 138,
                                  "column": 45
                                }
                              },
                              "value": 2,
                              "rawValue": 2,
                              "raw": "2"
                            }
                          }
                        ]
                      },
                      {
                        "type": "Literal",
                        "start": 5752,
                        "end": 5753,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 48
                          },
                          "end": {
                            "line": 138,
                            "column": 49
                          }
                        },
                        "value": 2,
                        "rawValue": 2,
                        "raw": "2"
                      }
                    ]
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 5760,
              "end": 5786,
              "loc": {
                "start": {
                  "line": 139,
                  "column": 4
                },
                "end": {
                  "line": 139,
                  "column": 30
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 5764,
                  "end": 5785,
                  "loc": {
                    "start": {
                      "line": 139,
                      "column": 8
                    },
                    "end": {
                      "line": 139,
                      "column": 29
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 5764,
                    "end": 5771,
                    "loc": {
                      "start": {
                        "line": 139,
                        "column": 8
                      },
                      "end": {
                        "line": 139,
                        "column": 15
                      }
                    },
                    "name": "cosA2Sq"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 5774,
                    "end": 5785,
                    "loc": {
                      "start": {
                        "line": 139,
                        "column": 18
                      },
                      "end": {
                        "line": 139,
                        "column": 29
                      }
                    },
                    "left": {
                      "type": "Literal",
                      "start": 5774,
                      "end": 5775,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 18
                        },
                        "end": {
                          "line": 139,
                          "column": 19
                        }
                      },
                      "value": 1,
                      "rawValue": 1,
                      "raw": "1"
                    },
                    "operator": "-",
                    "right": {
                      "type": "Identifier",
                      "start": 5778,
                      "end": 5785,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 22
                        },
                        "end": {
                          "line": 139,
                          "column": 29
                        }
                      },
                      "name": "sinA2Sq"
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 5792,
              "end": 5822,
              "loc": {
                "start": {
                  "line": 141,
                  "column": 4
                },
                "end": {
                  "line": 141,
                  "column": 34
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 5796,
                  "end": 5821,
                  "loc": {
                    "start": {
                      "line": 141,
                      "column": 8
                    },
                    "end": {
                      "line": 141,
                      "column": 33
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 5796,
                    "end": 5798,
                    "loc": {
                      "start": {
                        "line": 141,
                        "column": 8
                      },
                      "end": {
                        "line": 141,
                        "column": 10
                      }
                    },
                    "name": "A0"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 5801,
                    "end": 5821,
                    "loc": {
                      "start": {
                        "line": 141,
                        "column": 13
                      },
                      "end": {
                        "line": 141,
                        "column": 33
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 5801,
                      "end": 5819,
                      "loc": {
                        "start": {
                          "line": 141,
                          "column": 13
                        },
                        "end": {
                          "line": 141,
                          "column": 31
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 5801,
                        "end": 5810,
                        "loc": {
                          "start": {
                            "line": 141,
                            "column": 13
                          },
                          "end": {
                            "line": 141,
                            "column": 22
                          }
                        },
                        "name": "middleNew"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5811,
                        "end": 5819,
                        "loc": {
                          "start": {
                            "line": 141,
                            "column": 23
                          },
                          "end": {
                            "line": 141,
                            "column": 31
                          }
                        },
                        "name": "lengthSq"
                      },
                      "computed": false
                    },
                    "arguments": []
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 5827,
              "end": 5854,
              "loc": {
                "start": {
                  "line": 142,
                  "column": 4
                },
                "end": {
                  "line": 142,
                  "column": 31
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 5831,
                  "end": 5853,
                  "loc": {
                    "start": {
                      "line": 142,
                      "column": 8
                    },
                    "end": {
                      "line": 142,
                      "column": 30
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 5831,
                    "end": 5833,
                    "loc": {
                      "start": {
                        "line": 142,
                        "column": 8
                      },
                      "end": {
                        "line": 142,
                        "column": 10
                      }
                    },
                    "name": "A1"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 5836,
                    "end": 5853,
                    "loc": {
                      "start": {
                        "line": 142,
                        "column": 13
                      },
                      "end": {
                        "line": 142,
                        "column": 30
                      }
                    },
                    "left": {
                      "type": "UnaryExpression",
                      "start": 5836,
                      "end": 5839,
                      "loc": {
                        "start": {
                          "line": 142,
                          "column": 13
                        },
                        "end": {
                          "line": 142,
                          "column": 16
                        }
                      },
                      "operator": "-",
                      "prefix": true,
                      "argument": {
                        "type": "Literal",
                        "start": 5838,
                        "end": 5839,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 15
                          },
                          "end": {
                            "line": 142,
                            "column": 16
                          }
                        },
                        "value": 2,
                        "rawValue": 2,
                        "raw": "2"
                      }
                    },
                    "operator": "*",
                    "right": {
                      "type": "MemberExpression",
                      "start": 5842,
                      "end": 5853,
                      "loc": {
                        "start": {
                          "line": 142,
                          "column": 19
                        },
                        "end": {
                          "line": 142,
                          "column": 30
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 5842,
                        "end": 5851,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 19
                          },
                          "end": {
                            "line": 142,
                            "column": 28
                          }
                        },
                        "name": "middleNew"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5852,
                        "end": 5853,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 29
                          },
                          "end": {
                            "line": 142,
                            "column": 30
                          }
                        },
                        "name": "x"
                      },
                      "computed": false
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 5859,
              "end": 5886,
              "loc": {
                "start": {
                  "line": 143,
                  "column": 4
                },
                "end": {
                  "line": 143,
                  "column": 31
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 5863,
                  "end": 5885,
                  "loc": {
                    "start": {
                      "line": 143,
                      "column": 8
                    },
                    "end": {
                      "line": 143,
                      "column": 30
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 5863,
                    "end": 5865,
                    "loc": {
                      "start": {
                        "line": 143,
                        "column": 8
                      },
                      "end": {
                        "line": 143,
                        "column": 10
                      }
                    },
                    "name": "A2"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 5868,
                    "end": 5885,
                    "loc": {
                      "start": {
                        "line": 143,
                        "column": 13
                      },
                      "end": {
                        "line": 143,
                        "column": 30
                      }
                    },
                    "left": {
                      "type": "UnaryExpression",
                      "start": 5868,
                      "end": 5871,
                      "loc": {
                        "start": {
                          "line": 143,
                          "column": 13
                        },
                        "end": {
                          "line": 143,
                          "column": 16
                        }
                      },
                      "operator": "-",
                      "prefix": true,
                      "argument": {
                        "type": "Literal",
                        "start": 5870,
                        "end": 5871,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 15
                          },
                          "end": {
                            "line": 143,
                            "column": 16
                          }
                        },
                        "value": 2,
                        "rawValue": 2,
                        "raw": "2"
                      }
                    },
                    "operator": "*",
                    "right": {
                      "type": "MemberExpression",
                      "start": 5874,
                      "end": 5885,
                      "loc": {
                        "start": {
                          "line": 143,
                          "column": 19
                        },
                        "end": {
                          "line": 143,
                          "column": 30
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 5874,
                        "end": 5883,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 19
                          },
                          "end": {
                            "line": 143,
                            "column": 28
                          }
                        },
                        "name": "middleNew"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5884,
                        "end": 5885,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 29
                          },
                          "end": {
                            "line": 143,
                            "column": 30
                          }
                        },
                        "name": "y"
                      },
                      "computed": false
                    }
                  }
                }
              ],
              "kind": "var",
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "if (centerDir.x === 0) {",
                  "start": 5892,
                  "end": 5918,
                  "loc": {
                    "start": {
                      "line": 145,
                      "column": 4
                    },
                    "end": {
                      "line": 145,
                      "column": 30
                    }
                  },
                  "range": [
                    5892,
                    5918
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    var sign = centerDir.dot(new THREE.Vector3(0,1,0));",
                  "start": 5923,
                  "end": 5980,
                  "loc": {
                    "start": {
                      "line": 146,
                      "column": 4
                    },
                    "end": {
                      "line": 146,
                      "column": 61
                    }
                  },
                  "range": [
                    5923,
                    5980
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    var discr = Math.pow(A2, 2) - 4 * cosA2Sq * A0;",
                  "start": 5985,
                  "end": 6038,
                  "loc": {
                    "start": {
                      "line": 147,
                      "column": 4
                    },
                    "end": {
                      "line": 147,
                      "column": 57
                    }
                  },
                  "range": [
                    5985,
                    6038
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    var Oy = (-A2 + sign * Math.sqrt(discr)) / (2 * cosA2Sq);",
                  "start": 6043,
                  "end": 6106,
                  "loc": {
                    "start": {
                      "line": 148,
                      "column": 4
                    },
                    "end": {
                      "line": 148,
                      "column": 67
                    }
                  },
                  "range": [
                    6043,
                    6106
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "",
                  "start": 6111,
                  "end": 6113,
                  "loc": {
                    "start": {
                      "line": 149,
                      "column": 4
                    },
                    "end": {
                      "line": 149,
                      "column": 6
                    }
                  },
                  "range": [
                    6111,
                    6113
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    center.x = 0;",
                  "start": 6118,
                  "end": 6137,
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 4
                    },
                    "end": {
                      "line": 150,
                      "column": 23
                    }
                  },
                  "range": [
                    6118,
                    6137
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    center.y = Oy;",
                  "start": 6142,
                  "end": 6162,
                  "loc": {
                    "start": {
                      "line": 151,
                      "column": 4
                    },
                    "end": {
                      "line": 151,
                      "column": 24
                    }
                  },
                  "range": [
                    6142,
                    6162
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "} else",
                  "start": 6167,
                  "end": 6175,
                  "loc": {
                    "start": {
                      "line": 152,
                      "column": 4
                    },
                    "end": {
                      "line": 152,
                      "column": 12
                    }
                  },
                  "range": [
                    6167,
                    6175
                  ]
                }
              ]
            },
            {
              "type": "IfStatement",
              "start": 6180,
              "end": 6846,
              "loc": {
                "start": {
                  "line": 153,
                  "column": 4
                },
                "end": {
                  "line": 172,
                  "column": 5
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 6184,
                "end": 6201,
                "loc": {
                  "start": {
                    "line": 153,
                    "column": 8
                  },
                  "end": {
                    "line": 153,
                    "column": 25
                  }
                },
                "left": {
                  "type": "MemberExpression",
                  "start": 6184,
                  "end": 6195,
                  "loc": {
                    "start": {
                      "line": 153,
                      "column": 8
                    },
                    "end": {
                      "line": 153,
                      "column": 19
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 6184,
                    "end": 6193,
                    "loc": {
                      "start": {
                        "line": 153,
                        "column": 8
                      },
                      "end": {
                        "line": 153,
                        "column": 17
                      }
                    },
                    "name": "centerDir",
                    "leadingComments": null
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 6194,
                    "end": 6195,
                    "loc": {
                      "start": {
                        "line": 153,
                        "column": 18
                      },
                      "end": {
                        "line": 153,
                        "column": 19
                      }
                    },
                    "name": "y"
                  },
                  "computed": false,
                  "leadingComments": null
                },
                "operator": "===",
                "right": {
                  "type": "Literal",
                  "start": 6200,
                  "end": 6201,
                  "loc": {
                    "start": {
                      "line": 153,
                      "column": 24
                    },
                    "end": {
                      "line": 153,
                      "column": 25
                    }
                  },
                  "value": 0,
                  "rawValue": 0,
                  "raw": "0"
                },
                "leadingComments": null
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 6203,
                "end": 6438,
                "loc": {
                  "start": {
                    "line": 153,
                    "column": 27
                  },
                  "end": {
                    "line": 160,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 6213,
                    "end": 6264,
                    "loc": {
                      "start": {
                        "line": 154,
                        "column": 8
                      },
                      "end": {
                        "line": 154,
                        "column": 59
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6217,
                        "end": 6263,
                        "loc": {
                          "start": {
                            "line": 154,
                            "column": 12
                          },
                          "end": {
                            "line": 154,
                            "column": 58
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6217,
                          "end": 6221,
                          "loc": {
                            "start": {
                              "line": 154,
                              "column": 12
                            },
                            "end": {
                              "line": 154,
                              "column": 16
                            }
                          },
                          "name": "sign"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 6224,
                          "end": 6263,
                          "loc": {
                            "start": {
                              "line": 154,
                              "column": 19
                            },
                            "end": {
                              "line": 154,
                              "column": 58
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6224,
                            "end": 6237,
                            "loc": {
                              "start": {
                                "line": 154,
                                "column": 19
                              },
                              "end": {
                                "line": 154,
                                "column": 32
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6224,
                              "end": 6233,
                              "loc": {
                                "start": {
                                  "line": 154,
                                  "column": 19
                                },
                                "end": {
                                  "line": 154,
                                  "column": 28
                                }
                              },
                              "name": "centerDir"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6234,
                              "end": 6237,
                              "loc": {
                                "start": {
                                  "line": 154,
                                  "column": 29
                                },
                                "end": {
                                  "line": 154,
                                  "column": 32
                                }
                              },
                              "name": "dot"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "NewExpression",
                              "start": 6238,
                              "end": 6262,
                              "loc": {
                                "start": {
                                  "line": 154,
                                  "column": 33
                                },
                                "end": {
                                  "line": 154,
                                  "column": 57
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 6242,
                                "end": 6255,
                                "loc": {
                                  "start": {
                                    "line": 154,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 154,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6242,
                                  "end": 6247,
                                  "loc": {
                                    "start": {
                                      "line": 154,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 154,
                                      "column": 42
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6248,
                                  "end": 6255,
                                  "loc": {
                                    "start": {
                                      "line": 154,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 154,
                                      "column": 50
                                    }
                                  },
                                  "name": "Vector3"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 6256,
                                  "end": 6257,
                                  "loc": {
                                    "start": {
                                      "line": 154,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 154,
                                      "column": 52
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                {
                                  "type": "Literal",
                                  "start": 6258,
                                  "end": 6259,
                                  "loc": {
                                    "start": {
                                      "line": 154,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 154,
                                      "column": 54
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                {
                                  "type": "Literal",
                                  "start": 6260,
                                  "end": 6261,
                                  "loc": {
                                    "start": {
                                      "line": 154,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 154,
                                      "column": 56
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 6273,
                    "end": 6320,
                    "loc": {
                      "start": {
                        "line": 155,
                        "column": 8
                      },
                      "end": {
                        "line": 155,
                        "column": 55
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6277,
                        "end": 6319,
                        "loc": {
                          "start": {
                            "line": 155,
                            "column": 12
                          },
                          "end": {
                            "line": 155,
                            "column": 54
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6277,
                          "end": 6282,
                          "loc": {
                            "start": {
                              "line": 155,
                              "column": 12
                            },
                            "end": {
                              "line": 155,
                              "column": 17
                            }
                          },
                          "name": "discr"
                        },
                        "init": {
                          "type": "BinaryExpression",
                          "start": 6285,
                          "end": 6319,
                          "loc": {
                            "start": {
                              "line": 155,
                              "column": 20
                            },
                            "end": {
                              "line": 155,
                              "column": 54
                            }
                          },
                          "left": {
                            "type": "CallExpression",
                            "start": 6285,
                            "end": 6300,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 20
                              },
                              "end": {
                                "line": 155,
                                "column": 35
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6285,
                              "end": 6293,
                              "loc": {
                                "start": {
                                  "line": 155,
                                  "column": 20
                                },
                                "end": {
                                  "line": 155,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6285,
                                "end": 6289,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 24
                                  }
                                },
                                "name": "Math"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6290,
                                "end": 6293,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 28
                                  }
                                },
                                "name": "pow"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 6294,
                                "end": 6296,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 31
                                  }
                                },
                                "name": "A1"
                              },
                              {
                                "type": "Literal",
                                "start": 6298,
                                "end": 6299,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 34
                                  }
                                },
                                "value": 2,
                                "rawValue": 2,
                                "raw": "2"
                              }
                            ]
                          },
                          "operator": "-",
                          "right": {
                            "type": "BinaryExpression",
                            "start": 6303,
                            "end": 6319,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 38
                              },
                              "end": {
                                "line": 155,
                                "column": 54
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 6303,
                              "end": 6314,
                              "loc": {
                                "start": {
                                  "line": 155,
                                  "column": 38
                                },
                                "end": {
                                  "line": 155,
                                  "column": 49
                                }
                              },
                              "left": {
                                "type": "Literal",
                                "start": 6303,
                                "end": 6304,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 39
                                  }
                                },
                                "value": 4,
                                "rawValue": 4,
                                "raw": "4"
                              },
                              "operator": "*",
                              "right": {
                                "type": "Identifier",
                                "start": 6307,
                                "end": 6314,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 49
                                  }
                                },
                                "name": "cosA2Sq"
                              }
                            },
                            "operator": "*",
                            "right": {
                              "type": "Identifier",
                              "start": 6317,
                              "end": 6319,
                              "loc": {
                                "start": {
                                  "line": 155,
                                  "column": 52
                                },
                                "end": {
                                  "line": 155,
                                  "column": 54
                                }
                              },
                              "name": "A0"
                            }
                          }
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 6329,
                    "end": 6386,
                    "loc": {
                      "start": {
                        "line": 156,
                        "column": 8
                      },
                      "end": {
                        "line": 156,
                        "column": 65
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6333,
                        "end": 6385,
                        "loc": {
                          "start": {
                            "line": 156,
                            "column": 12
                          },
                          "end": {
                            "line": 156,
                            "column": 64
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6333,
                          "end": 6335,
                          "loc": {
                            "start": {
                              "line": 156,
                              "column": 12
                            },
                            "end": {
                              "line": 156,
                              "column": 14
                            }
                          },
                          "name": "Ox"
                        },
                        "init": {
                          "type": "BinaryExpression",
                          "start": 6338,
                          "end": 6385,
                          "loc": {
                            "start": {
                              "line": 156,
                              "column": 17
                            },
                            "end": {
                              "line": 156,
                              "column": 64
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 6339,
                            "end": 6368,
                            "loc": {
                              "start": {
                                "line": 156,
                                "column": 18
                              },
                              "end": {
                                "line": 156,
                                "column": 47
                              }
                            },
                            "left": {
                              "type": "UnaryExpression",
                              "start": 6339,
                              "end": 6342,
                              "loc": {
                                "start": {
                                  "line": 156,
                                  "column": 18
                                },
                                "end": {
                                  "line": 156,
                                  "column": 21
                                }
                              },
                              "operator": "-",
                              "prefix": true,
                              "argument": {
                                "type": "Identifier",
                                "start": 6340,
                                "end": 6342,
                                "loc": {
                                  "start": {
                                    "line": 156,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 156,
                                    "column": 21
                                  }
                                },
                                "name": "A1"
                              }
                            },
                            "operator": "+",
                            "right": {
                              "type": "BinaryExpression",
                              "start": 6345,
                              "end": 6368,
                              "loc": {
                                "start": {
                                  "line": 156,
                                  "column": 24
                                },
                                "end": {
                                  "line": 156,
                                  "column": 47
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 6345,
                                "end": 6349,
                                "loc": {
                                  "start": {
                                    "line": 156,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 156,
                                    "column": 28
                                  }
                                },
                                "name": "sign"
                              },
                              "operator": "*",
                              "right": {
                                "type": "CallExpression",
                                "start": 6352,
                                "end": 6368,
                                "loc": {
                                  "start": {
                                    "line": 156,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 156,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 6352,
                                  "end": 6361,
                                  "loc": {
                                    "start": {
                                      "line": 156,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 156,
                                      "column": 40
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 6352,
                                    "end": 6356,
                                    "loc": {
                                      "start": {
                                        "line": 156,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 156,
                                        "column": 35
                                      }
                                    },
                                    "name": "Math"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6357,
                                    "end": 6361,
                                    "loc": {
                                      "start": {
                                        "line": 156,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 156,
                                        "column": 40
                                      }
                                    },
                                    "name": "sqrt"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 6362,
                                    "end": 6367,
                                    "loc": {
                                      "start": {
                                        "line": 156,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 156,
                                        "column": 46
                                      }
                                    },
                                    "name": "discr"
                                  }
                                ]
                              }
                            },
                            "parenthesizedExpression": true
                          },
                          "operator": "/",
                          "right": {
                            "type": "BinaryExpression",
                            "start": 6373,
                            "end": 6384,
                            "loc": {
                              "start": {
                                "line": 156,
                                "column": 52
                              },
                              "end": {
                                "line": 156,
                                "column": 63
                              }
                            },
                            "left": {
                              "type": "Literal",
                              "start": 6373,
                              "end": 6374,
                              "loc": {
                                "start": {
                                  "line": 156,
                                  "column": 52
                                },
                                "end": {
                                  "line": 156,
                                  "column": 53
                                }
                              },
                              "value": 2,
                              "rawValue": 2,
                              "raw": "2"
                            },
                            "operator": "*",
                            "right": {
                              "type": "Identifier",
                              "start": 6377,
                              "end": 6384,
                              "loc": {
                                "start": {
                                  "line": 156,
                                  "column": 56
                                },
                                "end": {
                                  "line": 156,
                                  "column": 63
                                }
                              },
                              "name": "cosA2Sq"
                            },
                            "parenthesizedExpression": true
                          }
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 6396,
                    "end": 6410,
                    "loc": {
                      "start": {
                        "line": 158,
                        "column": 8
                      },
                      "end": {
                        "line": 158,
                        "column": 22
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 6396,
                      "end": 6409,
                      "loc": {
                        "start": {
                          "line": 158,
                          "column": 8
                        },
                        "end": {
                          "line": 158,
                          "column": 21
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 6396,
                        "end": 6404,
                        "loc": {
                          "start": {
                            "line": 158,
                            "column": 8
                          },
                          "end": {
                            "line": 158,
                            "column": 16
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 6396,
                          "end": 6402,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 8
                            },
                            "end": {
                              "line": 158,
                              "column": 14
                            }
                          },
                          "name": "center"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6403,
                          "end": 6404,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 15
                            },
                            "end": {
                              "line": 158,
                              "column": 16
                            }
                          },
                          "name": "x"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 6407,
                        "end": 6409,
                        "loc": {
                          "start": {
                            "line": 158,
                            "column": 19
                          },
                          "end": {
                            "line": 158,
                            "column": 21
                          }
                        },
                        "name": "Ox"
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 6419,
                    "end": 6432,
                    "loc": {
                      "start": {
                        "line": 159,
                        "column": 8
                      },
                      "end": {
                        "line": 159,
                        "column": 21
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 6419,
                      "end": 6431,
                      "loc": {
                        "start": {
                          "line": 159,
                          "column": 8
                        },
                        "end": {
                          "line": 159,
                          "column": 20
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 6419,
                        "end": 6427,
                        "loc": {
                          "start": {
                            "line": 159,
                            "column": 8
                          },
                          "end": {
                            "line": 159,
                            "column": 16
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 6419,
                          "end": 6425,
                          "loc": {
                            "start": {
                              "line": 159,
                              "column": 8
                            },
                            "end": {
                              "line": 159,
                              "column": 14
                            }
                          },
                          "name": "center"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6426,
                          "end": 6427,
                          "loc": {
                            "start": {
                              "line": 159,
                              "column": 15
                            },
                            "end": {
                              "line": 159,
                              "column": 16
                            }
                          },
                          "name": "y"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Literal",
                        "start": 6430,
                        "end": 6431,
                        "loc": {
                          "start": {
                            "line": 159,
                            "column": 19
                          },
                          "end": {
                            "line": 159,
                            "column": 20
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      }
                    }
                  }
                ]
              },
              "alternate": {
                "type": "BlockStatement",
                "start": 6444,
                "end": 6846,
                "loc": {
                  "start": {
                    "line": 160,
                    "column": 11
                  },
                  "end": {
                    "line": 172,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 6454,
                    "end": 6505,
                    "loc": {
                      "start": {
                        "line": 161,
                        "column": 8
                      },
                      "end": {
                        "line": 161,
                        "column": 59
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6458,
                        "end": 6504,
                        "loc": {
                          "start": {
                            "line": 161,
                            "column": 12
                          },
                          "end": {
                            "line": 161,
                            "column": 58
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6458,
                          "end": 6462,
                          "loc": {
                            "start": {
                              "line": 161,
                              "column": 12
                            },
                            "end": {
                              "line": 161,
                              "column": 16
                            }
                          },
                          "name": "sign"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 6465,
                          "end": 6504,
                          "loc": {
                            "start": {
                              "line": 161,
                              "column": 19
                            },
                            "end": {
                              "line": 161,
                              "column": 58
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6465,
                            "end": 6478,
                            "loc": {
                              "start": {
                                "line": 161,
                                "column": 19
                              },
                              "end": {
                                "line": 161,
                                "column": 32
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6465,
                              "end": 6474,
                              "loc": {
                                "start": {
                                  "line": 161,
                                  "column": 19
                                },
                                "end": {
                                  "line": 161,
                                  "column": 28
                                }
                              },
                              "name": "centerDir"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6475,
                              "end": 6478,
                              "loc": {
                                "start": {
                                  "line": 161,
                                  "column": 29
                                },
                                "end": {
                                  "line": 161,
                                  "column": 32
                                }
                              },
                              "name": "dot"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "NewExpression",
                              "start": 6479,
                              "end": 6503,
                              "loc": {
                                "start": {
                                  "line": 161,
                                  "column": 33
                                },
                                "end": {
                                  "line": 161,
                                  "column": 57
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 6483,
                                "end": 6496,
                                "loc": {
                                  "start": {
                                    "line": 161,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 161,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6483,
                                  "end": 6488,
                                  "loc": {
                                    "start": {
                                      "line": 161,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 161,
                                      "column": 42
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6489,
                                  "end": 6496,
                                  "loc": {
                                    "start": {
                                      "line": 161,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 161,
                                      "column": 50
                                    }
                                  },
                                  "name": "Vector3"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 6497,
                                  "end": 6498,
                                  "loc": {
                                    "start": {
                                      "line": 161,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 161,
                                      "column": 52
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                {
                                  "type": "Literal",
                                  "start": 6499,
                                  "end": 6500,
                                  "loc": {
                                    "start": {
                                      "line": 161,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 161,
                                      "column": 54
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                {
                                  "type": "Literal",
                                  "start": 6501,
                                  "end": 6502,
                                  "loc": {
                                    "start": {
                                      "line": 161,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 161,
                                      "column": 56
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 6514,
                    "end": 6557,
                    "loc": {
                      "start": {
                        "line": 162,
                        "column": 8
                      },
                      "end": {
                        "line": 162,
                        "column": 51
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6518,
                        "end": 6556,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 12
                          },
                          "end": {
                            "line": 162,
                            "column": 50
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6518,
                          "end": 6528,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 12
                            },
                            "end": {
                              "line": 162,
                              "column": 22
                            }
                          },
                          "name": "proportion"
                        },
                        "init": {
                          "type": "BinaryExpression",
                          "start": 6531,
                          "end": 6556,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 25
                            },
                            "end": {
                              "line": 162,
                              "column": 50
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 6531,
                            "end": 6542,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 25
                              },
                              "end": {
                                "line": 162,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6531,
                              "end": 6540,
                              "loc": {
                                "start": {
                                  "line": 162,
                                  "column": 25
                                },
                                "end": {
                                  "line": 162,
                                  "column": 34
                                }
                              },
                              "name": "centerDir"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6541,
                              "end": 6542,
                              "loc": {
                                "start": {
                                  "line": 162,
                                  "column": 35
                                },
                                "end": {
                                  "line": 162,
                                  "column": 36
                                }
                              },
                              "name": "x"
                            },
                            "computed": false
                          },
                          "operator": "/",
                          "right": {
                            "type": "MemberExpression",
                            "start": 6545,
                            "end": 6556,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 39
                              },
                              "end": {
                                "line": 162,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6545,
                              "end": 6554,
                              "loc": {
                                "start": {
                                  "line": 162,
                                  "column": 39
                                },
                                "end": {
                                  "line": 162,
                                  "column": 48
                                }
                              },
                              "name": "centerDir"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6555,
                              "end": 6556,
                              "loc": {
                                "start": {
                                  "line": 162,
                                  "column": 49
                                },
                                "end": {
                                  "line": 162,
                                  "column": 50
                                }
                              },
                              "name": "y"
                            },
                            "computed": false
                          }
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 6566,
                    "end": 6614,
                    "loc": {
                      "start": {
                        "line": 163,
                        "column": 8
                      },
                      "end": {
                        "line": 163,
                        "column": 56
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6570,
                        "end": 6613,
                        "loc": {
                          "start": {
                            "line": 163,
                            "column": 12
                          },
                          "end": {
                            "line": 163,
                            "column": 55
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6570,
                          "end": 6571,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 12
                            },
                            "end": {
                              "line": 163,
                              "column": 13
                            }
                          },
                          "name": "A"
                        },
                        "init": {
                          "type": "BinaryExpression",
                          "start": 6574,
                          "end": 6613,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 16
                            },
                            "end": {
                              "line": 163,
                              "column": 55
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 6575,
                            "end": 6602,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 17
                              },
                              "end": {
                                "line": 163,
                                "column": 44
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 6575,
                              "end": 6598,
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 17
                                },
                                "end": {
                                  "line": 163,
                                  "column": 40
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 6575,
                                "end": 6585,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 27
                                  }
                                },
                                "name": "proportion"
                              },
                              "operator": "*",
                              "right": {
                                "type": "Identifier",
                                "start": 6588,
                                "end": 6598,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 40
                                  }
                                },
                                "name": "proportion"
                              }
                            },
                            "operator": "+",
                            "right": {
                              "type": "Literal",
                              "start": 6601,
                              "end": 6602,
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 43
                                },
                                "end": {
                                  "line": 163,
                                  "column": 44
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "parenthesizedExpression": true
                          },
                          "operator": "*",
                          "right": {
                            "type": "Identifier",
                            "start": 6606,
                            "end": 6613,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 48
                              },
                              "end": {
                                "line": 163,
                                "column": 55
                              }
                            },
                            "name": "cosA2Sq"
                          }
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 6623,
                    "end": 6652,
                    "loc": {
                      "start": {
                        "line": 164,
                        "column": 8
                      },
                      "end": {
                        "line": 164,
                        "column": 37
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6627,
                        "end": 6651,
                        "loc": {
                          "start": {
                            "line": 164,
                            "column": 12
                          },
                          "end": {
                            "line": 164,
                            "column": 36
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6627,
                          "end": 6628,
                          "loc": {
                            "start": {
                              "line": 164,
                              "column": 12
                            },
                            "end": {
                              "line": 164,
                              "column": 13
                            }
                          },
                          "name": "B"
                        },
                        "init": {
                          "type": "BinaryExpression",
                          "start": 6631,
                          "end": 6651,
                          "loc": {
                            "start": {
                              "line": 164,
                              "column": 16
                            },
                            "end": {
                              "line": 164,
                              "column": 36
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 6631,
                            "end": 6646,
                            "loc": {
                              "start": {
                                "line": 164,
                                "column": 16
                              },
                              "end": {
                                "line": 164,
                                "column": 31
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 6631,
                              "end": 6633,
                              "loc": {
                                "start": {
                                  "line": 164,
                                  "column": 16
                                },
                                "end": {
                                  "line": 164,
                                  "column": 18
                                }
                              },
                              "name": "A1"
                            },
                            "operator": "*",
                            "right": {
                              "type": "Identifier",
                              "start": 6636,
                              "end": 6646,
                              "loc": {
                                "start": {
                                  "line": 164,
                                  "column": 21
                                },
                                "end": {
                                  "line": 164,
                                  "column": 31
                                }
                              },
                              "name": "proportion"
                            }
                          },
                          "operator": "+",
                          "right": {
                            "type": "Identifier",
                            "start": 6649,
                            "end": 6651,
                            "loc": {
                              "start": {
                                "line": 164,
                                "column": 34
                              },
                              "end": {
                                "line": 164,
                                "column": 36
                              }
                            },
                            "name": "A2"
                          }
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 6661,
                    "end": 6672,
                    "loc": {
                      "start": {
                        "line": 165,
                        "column": 8
                      },
                      "end": {
                        "line": 165,
                        "column": 19
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6665,
                        "end": 6671,
                        "loc": {
                          "start": {
                            "line": 165,
                            "column": 12
                          },
                          "end": {
                            "line": 165,
                            "column": 18
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6665,
                          "end": 6666,
                          "loc": {
                            "start": {
                              "line": 165,
                              "column": 12
                            },
                            "end": {
                              "line": 165,
                              "column": 13
                            }
                          },
                          "name": "C"
                        },
                        "init": {
                          "type": "Identifier",
                          "start": 6669,
                          "end": 6671,
                          "loc": {
                            "start": {
                              "line": 165,
                              "column": 16
                            },
                            "end": {
                              "line": 165,
                              "column": 18
                            }
                          },
                          "name": "A0"
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 6682,
                    "end": 6721,
                    "loc": {
                      "start": {
                        "line": 167,
                        "column": 8
                      },
                      "end": {
                        "line": 167,
                        "column": 47
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6686,
                        "end": 6720,
                        "loc": {
                          "start": {
                            "line": 167,
                            "column": 12
                          },
                          "end": {
                            "line": 167,
                            "column": 46
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6686,
                          "end": 6691,
                          "loc": {
                            "start": {
                              "line": 167,
                              "column": 12
                            },
                            "end": {
                              "line": 167,
                              "column": 17
                            }
                          },
                          "name": "discr"
                        },
                        "init": {
                          "type": "BinaryExpression",
                          "start": 6694,
                          "end": 6720,
                          "loc": {
                            "start": {
                              "line": 167,
                              "column": 20
                            },
                            "end": {
                              "line": 167,
                              "column": 46
                            }
                          },
                          "left": {
                            "type": "CallExpression",
                            "start": 6694,
                            "end": 6708,
                            "loc": {
                              "start": {
                                "line": 167,
                                "column": 20
                              },
                              "end": {
                                "line": 167,
                                "column": 34
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6694,
                              "end": 6702,
                              "loc": {
                                "start": {
                                  "line": 167,
                                  "column": 20
                                },
                                "end": {
                                  "line": 167,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6694,
                                "end": 6698,
                                "loc": {
                                  "start": {
                                    "line": 167,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 167,
                                    "column": 24
                                  }
                                },
                                "name": "Math"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6699,
                                "end": 6702,
                                "loc": {
                                  "start": {
                                    "line": 167,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 167,
                                    "column": 28
                                  }
                                },
                                "name": "pow"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 6703,
                                "end": 6704,
                                "loc": {
                                  "start": {
                                    "line": 167,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 167,
                                    "column": 30
                                  }
                                },
                                "name": "B"
                              },
                              {
                                "type": "Literal",
                                "start": 6706,
                                "end": 6707,
                                "loc": {
                                  "start": {
                                    "line": 167,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 167,
                                    "column": 33
                                  }
                                },
                                "value": 2,
                                "rawValue": 2,
                                "raw": "2"
                              }
                            ]
                          },
                          "operator": "-",
                          "right": {
                            "type": "BinaryExpression",
                            "start": 6711,
                            "end": 6720,
                            "loc": {
                              "start": {
                                "line": 167,
                                "column": 37
                              },
                              "end": {
                                "line": 167,
                                "column": 46
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 6711,
                              "end": 6716,
                              "loc": {
                                "start": {
                                  "line": 167,
                                  "column": 37
                                },
                                "end": {
                                  "line": 167,
                                  "column": 42
                                }
                              },
                              "left": {
                                "type": "Literal",
                                "start": 6711,
                                "end": 6712,
                                "loc": {
                                  "start": {
                                    "line": 167,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 167,
                                    "column": 38
                                  }
                                },
                                "value": 4,
                                "rawValue": 4,
                                "raw": "4"
                              },
                              "operator": "*",
                              "right": {
                                "type": "Identifier",
                                "start": 6715,
                                "end": 6716,
                                "loc": {
                                  "start": {
                                    "line": 167,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 167,
                                    "column": 42
                                  }
                                },
                                "name": "A"
                              }
                            },
                            "operator": "*",
                            "right": {
                              "type": "Identifier",
                              "start": 6719,
                              "end": 6720,
                              "loc": {
                                "start": {
                                  "line": 167,
                                  "column": 45
                                },
                                "end": {
                                  "line": 167,
                                  "column": 46
                                }
                              },
                              "name": "C"
                            }
                          }
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 6730,
                    "end": 6780,
                    "loc": {
                      "start": {
                        "line": 168,
                        "column": 8
                      },
                      "end": {
                        "line": 168,
                        "column": 58
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6734,
                        "end": 6779,
                        "loc": {
                          "start": {
                            "line": 168,
                            "column": 12
                          },
                          "end": {
                            "line": 168,
                            "column": 57
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6734,
                          "end": 6736,
                          "loc": {
                            "start": {
                              "line": 168,
                              "column": 12
                            },
                            "end": {
                              "line": 168,
                              "column": 14
                            }
                          },
                          "name": "Oy"
                        },
                        "init": {
                          "type": "BinaryExpression",
                          "start": 6739,
                          "end": 6779,
                          "loc": {
                            "start": {
                              "line": 168,
                              "column": 17
                            },
                            "end": {
                              "line": 168,
                              "column": 57
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 6740,
                            "end": 6768,
                            "loc": {
                              "start": {
                                "line": 168,
                                "column": 18
                              },
                              "end": {
                                "line": 168,
                                "column": 46
                              }
                            },
                            "left": {
                              "type": "UnaryExpression",
                              "start": 6740,
                              "end": 6742,
                              "loc": {
                                "start": {
                                  "line": 168,
                                  "column": 18
                                },
                                "end": {
                                  "line": 168,
                                  "column": 20
                                }
                              },
                              "operator": "-",
                              "prefix": true,
                              "argument": {
                                "type": "Identifier",
                                "start": 6741,
                                "end": 6742,
                                "loc": {
                                  "start": {
                                    "line": 168,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 168,
                                    "column": 20
                                  }
                                },
                                "name": "B"
                              }
                            },
                            "operator": "+",
                            "right": {
                              "type": "BinaryExpression",
                              "start": 6745,
                              "end": 6768,
                              "loc": {
                                "start": {
                                  "line": 168,
                                  "column": 23
                                },
                                "end": {
                                  "line": 168,
                                  "column": 46
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 6745,
                                "end": 6749,
                                "loc": {
                                  "start": {
                                    "line": 168,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 168,
                                    "column": 27
                                  }
                                },
                                "name": "sign"
                              },
                              "operator": "*",
                              "right": {
                                "type": "CallExpression",
                                "start": 6752,
                                "end": 6768,
                                "loc": {
                                  "start": {
                                    "line": 168,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 168,
                                    "column": 46
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 6752,
                                  "end": 6761,
                                  "loc": {
                                    "start": {
                                      "line": 168,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 168,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 6752,
                                    "end": 6756,
                                    "loc": {
                                      "start": {
                                        "line": 168,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 168,
                                        "column": 34
                                      }
                                    },
                                    "name": "Math"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6757,
                                    "end": 6761,
                                    "loc": {
                                      "start": {
                                        "line": 168,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 168,
                                        "column": 39
                                      }
                                    },
                                    "name": "sqrt"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 6762,
                                    "end": 6767,
                                    "loc": {
                                      "start": {
                                        "line": 168,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 168,
                                        "column": 45
                                      }
                                    },
                                    "name": "discr"
                                  }
                                ]
                              }
                            },
                            "parenthesizedExpression": true
                          },
                          "operator": "/",
                          "right": {
                            "type": "BinaryExpression",
                            "start": 6773,
                            "end": 6778,
                            "loc": {
                              "start": {
                                "line": 168,
                                "column": 51
                              },
                              "end": {
                                "line": 168,
                                "column": 56
                              }
                            },
                            "left": {
                              "type": "Literal",
                              "start": 6773,
                              "end": 6774,
                              "loc": {
                                "start": {
                                  "line": 168,
                                  "column": 51
                                },
                                "end": {
                                  "line": 168,
                                  "column": 52
                                }
                              },
                              "value": 2,
                              "rawValue": 2,
                              "raw": "2"
                            },
                            "operator": "*",
                            "right": {
                              "type": "Identifier",
                              "start": 6777,
                              "end": 6778,
                              "loc": {
                                "start": {
                                  "line": 168,
                                  "column": 55
                                },
                                "end": {
                                  "line": 168,
                                  "column": 56
                                }
                              },
                              "name": "A"
                            },
                            "parenthesizedExpression": true
                          }
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 6790,
                    "end": 6817,
                    "loc": {
                      "start": {
                        "line": 170,
                        "column": 8
                      },
                      "end": {
                        "line": 170,
                        "column": 35
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 6790,
                      "end": 6816,
                      "loc": {
                        "start": {
                          "line": 170,
                          "column": 8
                        },
                        "end": {
                          "line": 170,
                          "column": 34
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 6790,
                        "end": 6798,
                        "loc": {
                          "start": {
                            "line": 170,
                            "column": 8
                          },
                          "end": {
                            "line": 170,
                            "column": 16
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 6790,
                          "end": 6796,
                          "loc": {
                            "start": {
                              "line": 170,
                              "column": 8
                            },
                            "end": {
                              "line": 170,
                              "column": 14
                            }
                          },
                          "name": "center"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6797,
                          "end": 6798,
                          "loc": {
                            "start": {
                              "line": 170,
                              "column": 15
                            },
                            "end": {
                              "line": 170,
                              "column": 16
                            }
                          },
                          "name": "x"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "BinaryExpression",
                        "start": 6801,
                        "end": 6816,
                        "loc": {
                          "start": {
                            "line": 170,
                            "column": 19
                          },
                          "end": {
                            "line": 170,
                            "column": 34
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 6801,
                          "end": 6803,
                          "loc": {
                            "start": {
                              "line": 170,
                              "column": 19
                            },
                            "end": {
                              "line": 170,
                              "column": 21
                            }
                          },
                          "name": "Oy"
                        },
                        "operator": "*",
                        "right": {
                          "type": "Identifier",
                          "start": 6806,
                          "end": 6816,
                          "loc": {
                            "start": {
                              "line": 170,
                              "column": 24
                            },
                            "end": {
                              "line": 170,
                              "column": 34
                            }
                          },
                          "name": "proportion"
                        }
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 6826,
                    "end": 6840,
                    "loc": {
                      "start": {
                        "line": 171,
                        "column": 8
                      },
                      "end": {
                        "line": 171,
                        "column": 22
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 6826,
                      "end": 6839,
                      "loc": {
                        "start": {
                          "line": 171,
                          "column": 8
                        },
                        "end": {
                          "line": 171,
                          "column": 21
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 6826,
                        "end": 6834,
                        "loc": {
                          "start": {
                            "line": 171,
                            "column": 8
                          },
                          "end": {
                            "line": 171,
                            "column": 16
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 6826,
                          "end": 6832,
                          "loc": {
                            "start": {
                              "line": 171,
                              "column": 8
                            },
                            "end": {
                              "line": 171,
                              "column": 14
                            }
                          },
                          "name": "center"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6833,
                          "end": 6834,
                          "loc": {
                            "start": {
                              "line": 171,
                              "column": 15
                            },
                            "end": {
                              "line": 171,
                              "column": 16
                            }
                          },
                          "name": "y"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 6837,
                        "end": 6839,
                        "loc": {
                          "start": {
                            "line": 171,
                            "column": 19
                          },
                          "end": {
                            "line": 171,
                            "column": 21
                          }
                        },
                        "name": "Oy"
                      }
                    }
                  }
                ]
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "if (centerDir.x === 0) {",
                  "start": 5892,
                  "end": 5918,
                  "loc": {
                    "start": {
                      "line": 145,
                      "column": 4
                    },
                    "end": {
                      "line": 145,
                      "column": 30
                    }
                  },
                  "range": [
                    5892,
                    5918
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    var sign = centerDir.dot(new THREE.Vector3(0,1,0));",
                  "start": 5923,
                  "end": 5980,
                  "loc": {
                    "start": {
                      "line": 146,
                      "column": 4
                    },
                    "end": {
                      "line": 146,
                      "column": 61
                    }
                  },
                  "range": [
                    5923,
                    5980
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    var discr = Math.pow(A2, 2) - 4 * cosA2Sq * A0;",
                  "start": 5985,
                  "end": 6038,
                  "loc": {
                    "start": {
                      "line": 147,
                      "column": 4
                    },
                    "end": {
                      "line": 147,
                      "column": 57
                    }
                  },
                  "range": [
                    5985,
                    6038
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    var Oy = (-A2 + sign * Math.sqrt(discr)) / (2 * cosA2Sq);",
                  "start": 6043,
                  "end": 6106,
                  "loc": {
                    "start": {
                      "line": 148,
                      "column": 4
                    },
                    "end": {
                      "line": 148,
                      "column": 67
                    }
                  },
                  "range": [
                    6043,
                    6106
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "",
                  "start": 6111,
                  "end": 6113,
                  "loc": {
                    "start": {
                      "line": 149,
                      "column": 4
                    },
                    "end": {
                      "line": 149,
                      "column": 6
                    }
                  },
                  "range": [
                    6111,
                    6113
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    center.x = 0;",
                  "start": 6118,
                  "end": 6137,
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 4
                    },
                    "end": {
                      "line": 150,
                      "column": 23
                    }
                  },
                  "range": [
                    6118,
                    6137
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "    center.y = Oy;",
                  "start": 6142,
                  "end": 6162,
                  "loc": {
                    "start": {
                      "line": 151,
                      "column": 4
                    },
                    "end": {
                      "line": 151,
                      "column": 24
                    }
                  },
                  "range": [
                    6142,
                    6162
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "} else",
                  "start": 6167,
                  "end": 6175,
                  "loc": {
                    "start": {
                      "line": 152,
                      "column": 4
                    },
                    "end": {
                      "line": 152,
                      "column": 12
                    }
                  },
                  "range": [
                    6167,
                    6175
                  ]
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 6852,
              "end": 6898,
              "loc": {
                "start": {
                  "line": 174,
                  "column": 4
                },
                "end": {
                  "line": 174,
                  "column": 50
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 6856,
                  "end": 6897,
                  "loc": {
                    "start": {
                      "line": 174,
                      "column": 8
                    },
                    "end": {
                      "line": 174,
                      "column": 49
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 6856,
                    "end": 6859,
                    "loc": {
                      "start": {
                        "line": 174,
                        "column": 8
                      },
                      "end": {
                        "line": 174,
                        "column": 11
                      }
                    },
                    "name": "len"
                  },
                  "init": {
                    "type": "BinaryExpression",
                    "start": 6862,
                    "end": 6897,
                    "loc": {
                      "start": {
                        "line": 174,
                        "column": 14
                      },
                      "end": {
                        "line": 174,
                        "column": 49
                      }
                    },
                    "left": {
                      "type": "CallExpression",
                      "start": 6862,
                      "end": 6877,
                      "loc": {
                        "start": {
                          "line": 174,
                          "column": 14
                        },
                        "end": {
                          "line": 174,
                          "column": 29
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 6862,
                        "end": 6875,
                        "loc": {
                          "start": {
                            "line": 174,
                            "column": 14
                          },
                          "end": {
                            "line": 174,
                            "column": 27
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 6862,
                          "end": 6868,
                          "loc": {
                            "start": {
                              "line": 174,
                              "column": 14
                            },
                            "end": {
                              "line": 174,
                              "column": 20
                            }
                          },
                          "name": "center"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6869,
                          "end": 6875,
                          "loc": {
                            "start": {
                              "line": 174,
                              "column": 21
                            },
                            "end": {
                              "line": 174,
                              "column": 27
                            }
                          },
                          "name": "length"
                        },
                        "computed": false
                      },
                      "arguments": []
                    },
                    "operator": "*",
                    "right": {
                      "type": "CallExpression",
                      "start": 6880,
                      "end": 6897,
                      "loc": {
                        "start": {
                          "line": 174,
                          "column": 32
                        },
                        "end": {
                          "line": 174,
                          "column": 49
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 6880,
                        "end": 6888,
                        "loc": {
                          "start": {
                            "line": 174,
                            "column": 32
                          },
                          "end": {
                            "line": 174,
                            "column": 40
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 6880,
                          "end": 6884,
                          "loc": {
                            "start": {
                              "line": 174,
                              "column": 32
                            },
                            "end": {
                              "line": 174,
                              "column": 36
                            }
                          },
                          "name": "Math"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6885,
                          "end": 6888,
                          "loc": {
                            "start": {
                              "line": 174,
                              "column": 37
                            },
                            "end": {
                              "line": 174,
                              "column": 40
                            }
                          },
                          "name": "cos"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "BinaryExpression",
                          "start": 6889,
                          "end": 6896,
                          "loc": {
                            "start": {
                              "line": 174,
                              "column": 41
                            },
                            "end": {
                              "line": 174,
                              "column": 48
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 6889,
                            "end": 6894,
                            "loc": {
                              "start": {
                                "line": 174,
                                "column": 41
                              },
                              "end": {
                                "line": 174,
                                "column": 46
                              }
                            },
                            "name": "alpha"
                          },
                          "operator": "/",
                          "right": {
                            "type": "Literal",
                            "start": 6895,
                            "end": 6896,
                            "loc": {
                              "start": {
                                "line": 174,
                                "column": 47
                              },
                              "end": {
                                "line": 174,
                                "column": 48
                              }
                            },
                            "value": 2,
                            "rawValue": 2,
                            "raw": "2"
                          }
                        }
                      ]
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "ExpressionStatement",
              "start": 6903,
              "end": 6925,
              "loc": {
                "start": {
                  "line": 175,
                  "column": 4
                },
                "end": {
                  "line": 175,
                  "column": 26
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 6903,
                "end": 6924,
                "loc": {
                  "start": {
                    "line": 175,
                    "column": 4
                  },
                  "end": {
                    "line": 175,
                    "column": 25
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 6903,
                  "end": 6913,
                  "loc": {
                    "start": {
                      "line": 175,
                      "column": 4
                    },
                    "end": {
                      "line": 175,
                      "column": 14
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 6903,
                    "end": 6909,
                    "loc": {
                      "start": {
                        "line": 175,
                        "column": 4
                      },
                      "end": {
                        "line": 175,
                        "column": 10
                      }
                    },
                    "name": "center"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 6910,
                    "end": 6913,
                    "loc": {
                      "start": {
                        "line": 175,
                        "column": 11
                      },
                      "end": {
                        "line": 175,
                        "column": 14
                      }
                    },
                    "name": "add"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 6914,
                    "end": 6923,
                    "loc": {
                      "start": {
                        "line": 175,
                        "column": 15
                      },
                      "end": {
                        "line": 175,
                        "column": 24
                      }
                    },
                    "name": "vertexPos"
                  }
                ]
              }
            },
            {
              "type": "ReturnStatement",
              "start": 6931,
              "end": 7141,
              "loc": {
                "start": {
                  "line": 177,
                  "column": 4
                },
                "end": {
                  "line": 182,
                  "column": 5
                }
              },
              "argument": {
                "type": "ObjectExpression",
                "start": 6938,
                "end": 7141,
                "loc": {
                  "start": {
                    "line": 177,
                    "column": 11
                  },
                  "end": {
                    "line": 182,
                    "column": 5
                  }
                },
                "properties": [
                  {
                    "type": "Property",
                    "start": 6948,
                    "end": 7014,
                    "loc": {
                      "start": {
                        "line": 178,
                        "column": 8
                      },
                      "end": {
                        "line": 178,
                        "column": 74
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 6948,
                      "end": 6953,
                      "loc": {
                        "start": {
                          "line": 178,
                          "column": 8
                        },
                        "end": {
                          "line": 178,
                          "column": 13
                        }
                      },
                      "name": "start"
                    },
                    "value": {
                      "type": "CallExpression",
                      "start": 6955,
                      "end": 7014,
                      "loc": {
                        "start": {
                          "line": 178,
                          "column": 15
                        },
                        "end": {
                          "line": 178,
                          "column": 74
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 6955,
                        "end": 6976,
                        "loc": {
                          "start": {
                            "line": 178,
                            "column": 15
                          },
                          "end": {
                            "line": 178,
                            "column": 36
                          }
                        },
                        "object": {
                          "type": "CallExpression",
                          "start": 6955,
                          "end": 6972,
                          "loc": {
                            "start": {
                              "line": 178,
                              "column": 15
                            },
                            "end": {
                              "line": 178,
                              "column": 32
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6955,
                            "end": 6970,
                            "loc": {
                              "start": {
                                "line": 178,
                                "column": 15
                              },
                              "end": {
                                "line": 178,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6955,
                              "end": 6964,
                              "loc": {
                                "start": {
                                  "line": 178,
                                  "column": 15
                                },
                                "end": {
                                  "line": 178,
                                  "column": 24
                                }
                              },
                              "name": "vertexPos"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6965,
                              "end": 6970,
                              "loc": {
                                "start": {
                                  "line": 178,
                                  "column": 25
                                },
                                "end": {
                                  "line": 178,
                                  "column": 30
                                }
                              },
                              "name": "clone"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6973,
                          "end": 6976,
                          "loc": {
                            "start": {
                              "line": 178,
                              "column": 33
                            },
                            "end": {
                              "line": 178,
                              "column": 36
                            }
                          },
                          "name": "add"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "CallExpression",
                          "start": 6977,
                          "end": 7013,
                          "loc": {
                            "start": {
                              "line": 178,
                              "column": 37
                            },
                            "end": {
                              "line": 178,
                              "column": 73
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6977,
                            "end": 7008,
                            "loc": {
                              "start": {
                                "line": 178,
                                "column": 37
                              },
                              "end": {
                                "line": 178,
                                "column": 68
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 6977,
                              "end": 6993,
                              "loc": {
                                "start": {
                                  "line": 178,
                                  "column": 37
                                },
                                "end": {
                                  "line": 178,
                                  "column": 53
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 6977,
                                "end": 6991,
                                "loc": {
                                  "start": {
                                    "line": 178,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 178,
                                    "column": 51
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6977,
                                  "end": 6985,
                                  "loc": {
                                    "start": {
                                      "line": 178,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 178,
                                      "column": 45
                                    }
                                  },
                                  "name": "startDir"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6986,
                                  "end": 6991,
                                  "loc": {
                                    "start": {
                                      "line": 178,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 178,
                                      "column": 51
                                    }
                                  },
                                  "name": "clone"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6994,
                              "end": 7008,
                              "loc": {
                                "start": {
                                  "line": 178,
                                  "column": 54
                                },
                                "end": {
                                  "line": 178,
                                  "column": 68
                                }
                              },
                              "name": "multiplyScalar"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 7009,
                              "end": 7012,
                              "loc": {
                                "start": {
                                  "line": 178,
                                  "column": 69
                                },
                                "end": {
                                  "line": 178,
                                  "column": 72
                                }
                              },
                              "name": "len"
                            }
                          ]
                        }
                      ]
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 7024,
                    "end": 7086,
                    "loc": {
                      "start": {
                        "line": 179,
                        "column": 8
                      },
                      "end": {
                        "line": 179,
                        "column": 70
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 7024,
                      "end": 7027,
                      "loc": {
                        "start": {
                          "line": 179,
                          "column": 8
                        },
                        "end": {
                          "line": 179,
                          "column": 11
                        }
                      },
                      "name": "end"
                    },
                    "value": {
                      "type": "CallExpression",
                      "start": 7029,
                      "end": 7086,
                      "loc": {
                        "start": {
                          "line": 179,
                          "column": 13
                        },
                        "end": {
                          "line": 179,
                          "column": 70
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 7029,
                        "end": 7050,
                        "loc": {
                          "start": {
                            "line": 179,
                            "column": 13
                          },
                          "end": {
                            "line": 179,
                            "column": 34
                          }
                        },
                        "object": {
                          "type": "CallExpression",
                          "start": 7029,
                          "end": 7046,
                          "loc": {
                            "start": {
                              "line": 179,
                              "column": 13
                            },
                            "end": {
                              "line": 179,
                              "column": 30
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 7029,
                            "end": 7044,
                            "loc": {
                              "start": {
                                "line": 179,
                                "column": 13
                              },
                              "end": {
                                "line": 179,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 7029,
                              "end": 7038,
                              "loc": {
                                "start": {
                                  "line": 179,
                                  "column": 13
                                },
                                "end": {
                                  "line": 179,
                                  "column": 22
                                }
                              },
                              "name": "vertexPos"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7039,
                              "end": 7044,
                              "loc": {
                                "start": {
                                  "line": 179,
                                  "column": 23
                                },
                                "end": {
                                  "line": 179,
                                  "column": 28
                                }
                              },
                              "name": "clone"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 7047,
                          "end": 7050,
                          "loc": {
                            "start": {
                              "line": 179,
                              "column": 31
                            },
                            "end": {
                              "line": 179,
                              "column": 34
                            }
                          },
                          "name": "add"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "CallExpression",
                          "start": 7051,
                          "end": 7085,
                          "loc": {
                            "start": {
                              "line": 179,
                              "column": 35
                            },
                            "end": {
                              "line": 179,
                              "column": 69
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 7051,
                            "end": 7080,
                            "loc": {
                              "start": {
                                "line": 179,
                                "column": 35
                              },
                              "end": {
                                "line": 179,
                                "column": 64
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 7051,
                              "end": 7065,
                              "loc": {
                                "start": {
                                  "line": 179,
                                  "column": 35
                                },
                                "end": {
                                  "line": 179,
                                  "column": 49
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7051,
                                "end": 7063,
                                "loc": {
                                  "start": {
                                    "line": 179,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 179,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 7051,
                                  "end": 7057,
                                  "loc": {
                                    "start": {
                                      "line": 179,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 179,
                                      "column": 41
                                    }
                                  },
                                  "name": "endDir"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7058,
                                  "end": 7063,
                                  "loc": {
                                    "start": {
                                      "line": 179,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 179,
                                      "column": 47
                                    }
                                  },
                                  "name": "clone"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7066,
                              "end": 7080,
                              "loc": {
                                "start": {
                                  "line": 179,
                                  "column": 50
                                },
                                "end": {
                                  "line": 179,
                                  "column": 64
                                }
                              },
                              "name": "multiplyScalar"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 7081,
                              "end": 7084,
                              "loc": {
                                "start": {
                                  "line": 179,
                                  "column": 65
                                },
                                "end": {
                                  "line": 179,
                                  "column": 68
                                }
                              },
                              "name": "len"
                            }
                          ]
                        }
                      ]
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 7096,
                    "end": 7110,
                    "loc": {
                      "start": {
                        "line": 180,
                        "column": 8
                      },
                      "end": {
                        "line": 180,
                        "column": 22
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 7096,
                      "end": 7102,
                      "loc": {
                        "start": {
                          "line": 180,
                          "column": 8
                        },
                        "end": {
                          "line": 180,
                          "column": 14
                        }
                      },
                      "name": "center"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 7104,
                      "end": 7110,
                      "loc": {
                        "start": {
                          "line": 180,
                          "column": 16
                        },
                        "end": {
                          "line": 180,
                          "column": 22
                        }
                      },
                      "name": "center"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 7120,
                    "end": 7135,
                    "loc": {
                      "start": {
                        "line": 181,
                        "column": 8
                      },
                      "end": {
                        "line": 181,
                        "column": 23
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 7120,
                      "end": 7129,
                      "loc": {
                        "start": {
                          "line": 181,
                          "column": 8
                        },
                        "end": {
                          "line": 181,
                          "column": 17
                        }
                      },
                      "name": "clockwise"
                    },
                    "value": {
                      "type": "Literal",
                      "start": 7131,
                      "end": 7135,
                      "loc": {
                        "start": {
                          "line": 181,
                          "column": 19
                        },
                        "end": {
                          "line": 181,
                          "column": 23
                        }
                      },
                      "value": true,
                      "rawValue": true,
                      "raw": "true"
                    },
                    "kind": "init"
                  }
                ]
              }
            }
          ]
        },
        "leadingComments": [],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 7146,
      "end": 7921,
      "loc": {
        "start": {
          "line": 186,
          "column": 0
        },
        "end": {
          "line": 210,
          "column": 1
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 7153,
        "end": 7921,
        "loc": {
          "start": {
            "line": 186,
            "column": 7
          },
          "end": {
            "line": 210,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 7162,
          "end": 7178,
          "loc": {
            "start": {
              "line": 186,
              "column": 16
            },
            "end": {
              "line": 186,
              "column": 32
            }
          },
          "name": "createGeomObject"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 7179,
            "end": 7189,
            "loc": {
              "start": {
                "line": 186,
                "column": 33
              },
              "end": {
                "line": 186,
                "column": 43
              }
            },
            "name": "geomParams"
          },
          {
            "type": "Identifier",
            "start": 7191,
            "end": 7200,
            "loc": {
              "start": {
                "line": 186,
                "column": 45
              },
              "end": {
                "line": 186,
                "column": 54
              }
            },
            "name": "oldObject"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 7202,
          "end": 7921,
          "loc": {
            "start": {
              "line": 186,
              "column": 56
            },
            "end": {
              "line": 210,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 7239,
              "end": 7259,
              "loc": {
                "start": {
                  "line": 188,
                  "column": 4
                },
                "end": {
                  "line": 188,
                  "column": 24
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 7243,
                  "end": 7258,
                  "loc": {
                    "start": {
                      "line": 188,
                      "column": 8
                    },
                    "end": {
                      "line": 188,
                      "column": 23
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 7243,
                    "end": 7250,
                    "loc": {
                      "start": {
                        "line": 188,
                        "column": 8
                      },
                      "end": {
                        "line": 188,
                        "column": 15
                      }
                    },
                    "name": "newType",
                    "leadingComments": null
                  },
                  "init": {
                    "type": "Identifier",
                    "start": 7253,
                    "end": 7258,
                    "loc": {
                      "start": {
                        "line": 188,
                        "column": 18
                      },
                      "end": {
                        "line": 188,
                        "column": 23
                      }
                    },
                    "name": "Point"
                  },
                  "leadingComments": null
                }
              ],
              "kind": "var",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "detect new geometry type",
                  "start": 7208,
                  "end": 7234,
                  "loc": {
                    "start": {
                      "line": 187,
                      "column": 4
                    },
                    "end": {
                      "line": 187,
                      "column": 30
                    }
                  },
                  "range": [
                    7208,
                    7234
                  ]
                }
              ]
            },
            {
              "type": "IfStatement",
              "start": 7264,
              "end": 7346,
              "loc": {
                "start": {
                  "line": 189,
                  "column": 4
                },
                "end": {
                  "line": 190,
                  "column": 44
                }
              },
              "test": {
                "type": "MemberExpression",
                "start": 7268,
                "end": 7285,
                "loc": {
                  "start": {
                    "line": 189,
                    "column": 8
                  },
                  "end": {
                    "line": 189,
                    "column": 25
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 7268,
                  "end": 7278,
                  "loc": {
                    "start": {
                      "line": 189,
                      "column": 8
                    },
                    "end": {
                      "line": 189,
                      "column": 18
                    }
                  },
                  "name": "geomParams"
                },
                "property": {
                  "type": "Identifier",
                  "start": 7279,
                  "end": 7285,
                  "loc": {
                    "start": {
                      "line": 189,
                      "column": 19
                    },
                    "end": {
                      "line": 189,
                      "column": 25
                    }
                  },
                  "name": "center"
                },
                "computed": false
              },
              "consequent": {
                "type": "ExpressionStatement",
                "start": 7287,
                "end": 7301,
                "loc": {
                  "start": {
                    "line": 189,
                    "column": 27
                  },
                  "end": {
                    "line": 189,
                    "column": 41
                  }
                },
                "expression": {
                  "type": "AssignmentExpression",
                  "start": 7287,
                  "end": 7300,
                  "loc": {
                    "start": {
                      "line": 189,
                      "column": 27
                    },
                    "end": {
                      "line": 189,
                      "column": 40
                    }
                  },
                  "operator": "=",
                  "left": {
                    "type": "Identifier",
                    "start": 7287,
                    "end": 7294,
                    "loc": {
                      "start": {
                        "line": 189,
                        "column": 27
                      },
                      "end": {
                        "line": 189,
                        "column": 34
                      }
                    },
                    "name": "newType"
                  },
                  "right": {
                    "type": "Identifier",
                    "start": 7297,
                    "end": 7300,
                    "loc": {
                      "start": {
                        "line": 189,
                        "column": 37
                      },
                      "end": {
                        "line": 189,
                        "column": 40
                      }
                    },
                    "name": "Arc"
                  }
                }
              },
              "alternate": {
                "type": "IfStatement",
                "start": 7311,
                "end": 7346,
                "loc": {
                  "start": {
                    "line": 190,
                    "column": 9
                  },
                  "end": {
                    "line": 190,
                    "column": 44
                  }
                },
                "test": {
                  "type": "MemberExpression",
                  "start": 7315,
                  "end": 7329,
                  "loc": {
                    "start": {
                      "line": 190,
                      "column": 13
                    },
                    "end": {
                      "line": 190,
                      "column": 27
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 7315,
                    "end": 7325,
                    "loc": {
                      "start": {
                        "line": 190,
                        "column": 13
                      },
                      "end": {
                        "line": 190,
                        "column": 23
                      }
                    },
                    "name": "geomParams"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 7326,
                    "end": 7329,
                    "loc": {
                      "start": {
                        "line": 190,
                        "column": 24
                      },
                      "end": {
                        "line": 190,
                        "column": 27
                      }
                    },
                    "name": "end"
                  },
                  "computed": false
                },
                "consequent": {
                  "type": "ExpressionStatement",
                  "start": 7331,
                  "end": 7346,
                  "loc": {
                    "start": {
                      "line": 190,
                      "column": 29
                    },
                    "end": {
                      "line": 190,
                      "column": 44
                    }
                  },
                  "expression": {
                    "type": "AssignmentExpression",
                    "start": 7331,
                    "end": 7345,
                    "loc": {
                      "start": {
                        "line": 190,
                        "column": 29
                      },
                      "end": {
                        "line": 190,
                        "column": 43
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 7331,
                      "end": 7338,
                      "loc": {
                        "start": {
                          "line": 190,
                          "column": 29
                        },
                        "end": {
                          "line": 190,
                          "column": 36
                        }
                      },
                      "name": "newType"
                    },
                    "right": {
                      "type": "Identifier",
                      "start": 7341,
                      "end": 7345,
                      "loc": {
                        "start": {
                          "line": 190,
                          "column": 39
                        },
                        "end": {
                          "line": 190,
                          "column": 43
                        }
                      },
                      "name": "Line"
                    }
                  }
                },
                "alternate": null
              }
            },
            {
              "type": "IfStatement",
              "start": 7352,
              "end": 7483,
              "loc": {
                "start": {
                  "line": 192,
                  "column": 4
                },
                "end": {
                  "line": 195,
                  "column": 5
                }
              },
              "test": {
                "type": "UnaryExpression",
                "start": 7356,
                "end": 7387,
                "loc": {
                  "start": {
                    "line": 192,
                    "column": 8
                  },
                  "end": {
                    "line": 192,
                    "column": 39
                  }
                },
                "operator": "!",
                "prefix": true,
                "argument": {
                  "type": "BinaryExpression",
                  "start": 7358,
                  "end": 7386,
                  "loc": {
                    "start": {
                      "line": 192,
                      "column": 10
                    },
                    "end": {
                      "line": 192,
                      "column": 38
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 7358,
                    "end": 7367,
                    "loc": {
                      "start": {
                        "line": 192,
                        "column": 10
                      },
                      "end": {
                        "line": 192,
                        "column": 19
                      }
                    },
                    "name": "oldObject"
                  },
                  "operator": "instanceof",
                  "right": {
                    "type": "Identifier",
                    "start": 7379,
                    "end": 7386,
                    "loc": {
                      "start": {
                        "line": 192,
                        "column": 31
                      },
                      "end": {
                        "line": 192,
                        "column": 38
                      }
                    },
                    "name": "newType"
                  },
                  "parenthesizedExpression": true
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 7389,
                "end": 7483,
                "loc": {
                  "start": {
                    "line": 192,
                    "column": 41
                  },
                  "end": {
                    "line": 195,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 7451,
                    "end": 7477,
                    "loc": {
                      "start": {
                        "line": 194,
                        "column": 8
                      },
                      "end": {
                        "line": 194,
                        "column": 34
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 7451,
                      "end": 7476,
                      "loc": {
                        "start": {
                          "line": 194,
                          "column": 8
                        },
                        "end": {
                          "line": 194,
                          "column": 33
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 7451,
                        "end": 7460,
                        "loc": {
                          "start": {
                            "line": 194,
                            "column": 8
                          },
                          "end": {
                            "line": 194,
                            "column": 17
                          }
                        },
                        "name": "oldObject",
                        "leadingComments": null
                      },
                      "right": {
                        "type": "NewExpression",
                        "start": 7463,
                        "end": 7476,
                        "loc": {
                          "start": {
                            "line": 194,
                            "column": 20
                          },
                          "end": {
                            "line": 194,
                            "column": 33
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 7467,
                          "end": 7474,
                          "loc": {
                            "start": {
                              "line": 194,
                              "column": 24
                            },
                            "end": {
                              "line": 194,
                              "column": 31
                            }
                          },
                          "name": "newType"
                        },
                        "arguments": []
                      },
                      "leadingComments": null
                    },
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": "slow path: we have to create a new object",
                        "start": 7399,
                        "end": 7442,
                        "loc": {
                          "start": {
                            "line": 193,
                            "column": 8
                          },
                          "end": {
                            "line": 193,
                            "column": 51
                          }
                        },
                        "range": [
                          7399,
                          7442
                        ]
                      }
                    ]
                  }
                ]
              },
              "alternate": null
            },
            {
              "type": "IfStatement",
              "start": 7489,
              "end": 7864,
              "loc": {
                "start": {
                  "line": 197,
                  "column": 4
                },
                "end": {
                  "line": 206,
                  "column": 5
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 7493,
                "end": 7510,
                "loc": {
                  "start": {
                    "line": 197,
                    "column": 8
                  },
                  "end": {
                    "line": 197,
                    "column": 25
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 7493,
                  "end": 7500,
                  "loc": {
                    "start": {
                      "line": 197,
                      "column": 8
                    },
                    "end": {
                      "line": 197,
                      "column": 15
                    }
                  },
                  "name": "newType"
                },
                "operator": "===",
                "right": {
                  "type": "Identifier",
                  "start": 7505,
                  "end": 7510,
                  "loc": {
                    "start": {
                      "line": 197,
                      "column": 20
                    },
                    "end": {
                      "line": 197,
                      "column": 25
                    }
                  },
                  "name": "Point"
                }
              },
              "consequent": {
                "type": "ExpressionStatement",
                "start": 7520,
                "end": 7562,
                "loc": {
                  "start": {
                    "line": 198,
                    "column": 8
                  },
                  "end": {
                    "line": 198,
                    "column": 50
                  }
                },
                "expression": {
                  "type": "CallExpression",
                  "start": 7520,
                  "end": 7561,
                  "loc": {
                    "start": {
                      "line": 198,
                      "column": 8
                    },
                    "end": {
                      "line": 198,
                      "column": 49
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 7520,
                    "end": 7543,
                    "loc": {
                      "start": {
                        "line": 198,
                        "column": 8
                      },
                      "end": {
                        "line": 198,
                        "column": 31
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 7520,
                      "end": 7538,
                      "loc": {
                        "start": {
                          "line": 198,
                          "column": 8
                        },
                        "end": {
                          "line": 198,
                          "column": 26
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 7520,
                        "end": 7529,
                        "loc": {
                          "start": {
                            "line": 198,
                            "column": 8
                          },
                          "end": {
                            "line": 198,
                            "column": 17
                          }
                        },
                        "name": "oldObject"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 7530,
                        "end": 7538,
                        "loc": {
                          "start": {
                            "line": 198,
                            "column": 18
                          },
                          "end": {
                            "line": 198,
                            "column": 26
                          }
                        },
                        "name": "position"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 7539,
                      "end": 7543,
                      "loc": {
                        "start": {
                          "line": 198,
                          "column": 27
                        },
                        "end": {
                          "line": 198,
                          "column": 31
                        }
                      },
                      "name": "copy"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "start": 7544,
                      "end": 7560,
                      "loc": {
                        "start": {
                          "line": 198,
                          "column": 32
                        },
                        "end": {
                          "line": 198,
                          "column": 48
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 7544,
                        "end": 7554,
                        "loc": {
                          "start": {
                            "line": 198,
                            "column": 32
                          },
                          "end": {
                            "line": 198,
                            "column": 42
                          }
                        },
                        "name": "geomParams"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 7555,
                        "end": 7560,
                        "loc": {
                          "start": {
                            "line": 198,
                            "column": 43
                          },
                          "end": {
                            "line": 198,
                            "column": 48
                          }
                        },
                        "name": "start"
                      },
                      "computed": false
                    }
                  ]
                }
              },
              "alternate": {
                "type": "BlockStatement",
                "start": 7572,
                "end": 7864,
                "loc": {
                  "start": {
                    "line": 199,
                    "column": 9
                  },
                  "end": {
                    "line": 206,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 7582,
                    "end": 7634,
                    "loc": {
                      "start": {
                        "line": 200,
                        "column": 8
                      },
                      "end": {
                        "line": 200,
                        "column": 60
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 7582,
                      "end": 7633,
                      "loc": {
                        "start": {
                          "line": 200,
                          "column": 8
                        },
                        "end": {
                          "line": 200,
                          "column": 59
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 7582,
                        "end": 7615,
                        "loc": {
                          "start": {
                            "line": 200,
                            "column": 8
                          },
                          "end": {
                            "line": 200,
                            "column": 41
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 7582,
                          "end": 7610,
                          "loc": {
                            "start": {
                              "line": 200,
                              "column": 8
                            },
                            "end": {
                              "line": 200,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 7582,
                            "end": 7601,
                            "loc": {
                              "start": {
                                "line": 200,
                                "column": 8
                              },
                              "end": {
                                "line": 200,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 7582,
                              "end": 7598,
                              "loc": {
                                "start": {
                                  "line": 200,
                                  "column": 8
                                },
                                "end": {
                                  "line": 200,
                                  "column": 24
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7582,
                                "end": 7591,
                                "loc": {
                                  "start": {
                                    "line": 200,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 200,
                                    "column": 17
                                  }
                                },
                                "name": "oldObject"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7592,
                                "end": 7598,
                                "loc": {
                                  "start": {
                                    "line": 200,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 200,
                                    "column": 24
                                  }
                                },
                                "name": "points"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Literal",
                              "start": 7599,
                              "end": 7600,
                              "loc": {
                                "start": {
                                  "line": 200,
                                  "column": 25
                                },
                                "end": {
                                  "line": 200,
                                  "column": 26
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "computed": true
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7602,
                            "end": 7610,
                            "loc": {
                              "start": {
                                "line": 200,
                                "column": 28
                              },
                              "end": {
                                "line": 200,
                                "column": 36
                              }
                            },
                            "name": "position"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 7611,
                          "end": 7615,
                          "loc": {
                            "start": {
                              "line": 200,
                              "column": 37
                            },
                            "end": {
                              "line": 200,
                              "column": 41
                            }
                          },
                          "name": "copy"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "start": 7616,
                          "end": 7632,
                          "loc": {
                            "start": {
                              "line": 200,
                              "column": 42
                            },
                            "end": {
                              "line": 200,
                              "column": 58
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 7616,
                            "end": 7626,
                            "loc": {
                              "start": {
                                "line": 200,
                                "column": 42
                              },
                              "end": {
                                "line": 200,
                                "column": 52
                              }
                            },
                            "name": "geomParams"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7627,
                            "end": 7632,
                            "loc": {
                              "start": {
                                "line": 200,
                                "column": 53
                              },
                              "end": {
                                "line": 200,
                                "column": 58
                              }
                            },
                            "name": "start"
                          },
                          "computed": false
                        }
                      ]
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 7643,
                    "end": 7693,
                    "loc": {
                      "start": {
                        "line": 201,
                        "column": 8
                      },
                      "end": {
                        "line": 201,
                        "column": 58
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 7643,
                      "end": 7692,
                      "loc": {
                        "start": {
                          "line": 201,
                          "column": 8
                        },
                        "end": {
                          "line": 201,
                          "column": 57
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 7643,
                        "end": 7676,
                        "loc": {
                          "start": {
                            "line": 201,
                            "column": 8
                          },
                          "end": {
                            "line": 201,
                            "column": 41
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 7643,
                          "end": 7671,
                          "loc": {
                            "start": {
                              "line": 201,
                              "column": 8
                            },
                            "end": {
                              "line": 201,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 7643,
                            "end": 7662,
                            "loc": {
                              "start": {
                                "line": 201,
                                "column": 8
                              },
                              "end": {
                                "line": 201,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 7643,
                              "end": 7659,
                              "loc": {
                                "start": {
                                  "line": 201,
                                  "column": 8
                                },
                                "end": {
                                  "line": 201,
                                  "column": 24
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7643,
                                "end": 7652,
                                "loc": {
                                  "start": {
                                    "line": 201,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 201,
                                    "column": 17
                                  }
                                },
                                "name": "oldObject"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7653,
                                "end": 7659,
                                "loc": {
                                  "start": {
                                    "line": 201,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 201,
                                    "column": 24
                                  }
                                },
                                "name": "points"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Literal",
                              "start": 7660,
                              "end": 7661,
                              "loc": {
                                "start": {
                                  "line": 201,
                                  "column": 25
                                },
                                "end": {
                                  "line": 201,
                                  "column": 26
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "computed": true
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7663,
                            "end": 7671,
                            "loc": {
                              "start": {
                                "line": 201,
                                "column": 28
                              },
                              "end": {
                                "line": 201,
                                "column": 36
                              }
                            },
                            "name": "position"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 7672,
                          "end": 7676,
                          "loc": {
                            "start": {
                              "line": 201,
                              "column": 37
                            },
                            "end": {
                              "line": 201,
                              "column": 41
                            }
                          },
                          "name": "copy"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "start": 7677,
                          "end": 7691,
                          "loc": {
                            "start": {
                              "line": 201,
                              "column": 42
                            },
                            "end": {
                              "line": 201,
                              "column": 56
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 7677,
                            "end": 7687,
                            "loc": {
                              "start": {
                                "line": 201,
                                "column": 42
                              },
                              "end": {
                                "line": 201,
                                "column": 52
                              }
                            },
                            "name": "geomParams"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7688,
                            "end": 7691,
                            "loc": {
                              "start": {
                                "line": 201,
                                "column": 53
                              },
                              "end": {
                                "line": 201,
                                "column": 56
                              }
                            },
                            "name": "end"
                          },
                          "computed": false
                        }
                      ]
                    }
                  },
                  {
                    "type": "IfStatement",
                    "start": 7702,
                    "end": 7858,
                    "loc": {
                      "start": {
                        "line": 202,
                        "column": 8
                      },
                      "end": {
                        "line": 205,
                        "column": 9
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 7706,
                      "end": 7721,
                      "loc": {
                        "start": {
                          "line": 202,
                          "column": 12
                        },
                        "end": {
                          "line": 202,
                          "column": 27
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 7706,
                        "end": 7713,
                        "loc": {
                          "start": {
                            "line": 202,
                            "column": 12
                          },
                          "end": {
                            "line": 202,
                            "column": 19
                          }
                        },
                        "name": "newType"
                      },
                      "operator": "===",
                      "right": {
                        "type": "Identifier",
                        "start": 7718,
                        "end": 7721,
                        "loc": {
                          "start": {
                            "line": 202,
                            "column": 24
                          },
                          "end": {
                            "line": 202,
                            "column": 27
                          }
                        },
                        "name": "Arc"
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 7723,
                      "end": 7858,
                      "loc": {
                        "start": {
                          "line": 202,
                          "column": 29
                        },
                        "end": {
                          "line": 205,
                          "column": 9
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 7737,
                          "end": 7792,
                          "loc": {
                            "start": {
                              "line": 203,
                              "column": 12
                            },
                            "end": {
                              "line": 203,
                              "column": 67
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 7737,
                            "end": 7791,
                            "loc": {
                              "start": {
                                "line": 203,
                                "column": 12
                              },
                              "end": {
                                "line": 203,
                                "column": 66
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 7737,
                              "end": 7772,
                              "loc": {
                                "start": {
                                  "line": 203,
                                  "column": 12
                                },
                                "end": {
                                  "line": 203,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 7737,
                                "end": 7767,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 203,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 7737,
                                  "end": 7758,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 7737,
                                    "end": 7746,
                                    "loc": {
                                      "start": {
                                        "line": 203,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 203,
                                        "column": 21
                                      }
                                    },
                                    "name": "oldObject"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7747,
                                    "end": 7758,
                                    "loc": {
                                      "start": {
                                        "line": 203,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 203,
                                        "column": 33
                                      }
                                    },
                                    "name": "centerPoint"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7759,
                                  "end": 7767,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 42
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7768,
                                "end": 7772,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 203,
                                    "column": 47
                                  }
                                },
                                "name": "copy"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 7773,
                                "end": 7790,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 203,
                                    "column": 65
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 7773,
                                  "end": 7783,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 58
                                    }
                                  },
                                  "name": "geomParams"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7784,
                                  "end": 7790,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 65
                                    }
                                  },
                                  "name": "center"
                                },
                                "computed": false
                              }
                            ]
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 7805,
                          "end": 7848,
                          "loc": {
                            "start": {
                              "line": 204,
                              "column": 12
                            },
                            "end": {
                              "line": 204,
                              "column": 55
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 7805,
                            "end": 7847,
                            "loc": {
                              "start": {
                                "line": 204,
                                "column": 12
                              },
                              "end": {
                                "line": 204,
                                "column": 54
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "start": 7805,
                              "end": 7824,
                              "loc": {
                                "start": {
                                  "line": 204,
                                  "column": 12
                                },
                                "end": {
                                  "line": 204,
                                  "column": 31
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7805,
                                "end": 7814,
                                "loc": {
                                  "start": {
                                    "line": 204,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 204,
                                    "column": 21
                                  }
                                },
                                "name": "oldObject"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7815,
                                "end": 7824,
                                "loc": {
                                  "start": {
                                    "line": 204,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 204,
                                    "column": 31
                                  }
                                },
                                "name": "clockwise"
                              },
                              "computed": false
                            },
                            "right": {
                              "type": "MemberExpression",
                              "start": 7827,
                              "end": 7847,
                              "loc": {
                                "start": {
                                  "line": 204,
                                  "column": 34
                                },
                                "end": {
                                  "line": 204,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7827,
                                "end": 7837,
                                "loc": {
                                  "start": {
                                    "line": 204,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 204,
                                    "column": 44
                                  }
                                },
                                "name": "geomParams"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7838,
                                "end": 7847,
                                "loc": {
                                  "start": {
                                    "line": 204,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 204,
                                    "column": 54
                                  }
                                },
                                "name": "clockwise"
                              },
                              "computed": false
                            }
                          }
                        }
                      ]
                    },
                    "alternate": null
                  }
                ]
              }
            },
            {
              "type": "ExpressionStatement",
              "start": 7870,
              "end": 7897,
              "loc": {
                "start": {
                  "line": 208,
                  "column": 4
                },
                "end": {
                  "line": 208,
                  "column": 31
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 7870,
                "end": 7896,
                "loc": {
                  "start": {
                    "line": 208,
                    "column": 4
                  },
                  "end": {
                    "line": 208,
                    "column": 30
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 7870,
                  "end": 7894,
                  "loc": {
                    "start": {
                      "line": 208,
                      "column": 4
                    },
                    "end": {
                      "line": 208,
                      "column": 28
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 7870,
                    "end": 7879,
                    "loc": {
                      "start": {
                        "line": 208,
                        "column": 4
                      },
                      "end": {
                        "line": 208,
                        "column": 13
                      }
                    },
                    "name": "oldObject"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 7880,
                    "end": 7894,
                    "loc": {
                      "start": {
                        "line": 208,
                        "column": 14
                      },
                      "end": {
                        "line": 208,
                        "column": 28
                      }
                    },
                    "name": "updateGeometry"
                  },
                  "computed": false
                },
                "arguments": []
              }
            },
            {
              "type": "ReturnStatement",
              "start": 7902,
              "end": 7919,
              "loc": {
                "start": {
                  "line": 209,
                  "column": 4
                },
                "end": {
                  "line": 209,
                  "column": 21
                }
              },
              "argument": {
                "type": "Identifier",
                "start": 7909,
                "end": 7918,
                "loc": {
                  "start": {
                    "line": 209,
                    "column": 11
                  },
                  "end": {
                    "line": 209,
                    "column": 20
                  }
                },
                "name": "oldObject"
              }
            }
          ]
        },
        "leadingComments": [],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null
    }
  ]
}